2010-05-14 4 views
3

Est-il possible de remplacer une ligne dans PHP. permettez-moi d'être un peu plus clair en utilisant des exemples.Remplacer le contenu dans PHP fwrite()

Mon tableau

array{ 
    [DEVICE] => eth0, 
    [IPADDR] => 192.168.0.2, 
    [NETMASK] => 255.255.255.0, 
    [NETWORK] => 192.168.0.0, 
    [BROADCAST] => 255.255.255.255, 
    [GATEWAY] => 192.168.0.1, 
    [ONBOOT] => no 
} 

fichier im

écraser
DEVICE=eth0 
IPADDR=192.168.200.2 
NETMASK=255.255.255.0 
NETWORK=192.168.200.0 
BROADCAST=255.255.255.255 
GATEWAY=192.168.200.1 
ONBOOT=no 
DNS1=195.100.10.1 

Résultat du fichier qui est réécrite

DEVICE=eth0 
IPADDR=192.168.0.2 
NETMASK=255.255.255.0 
NETWORK=192.168.0.0 
BROADCAST=255.255.255.255 
GATEWAY=192.168.0.1 
ONBOOT=no 
DNS1=195.100.10.1 

Notez que DNS1=195.100.10.1 Reste dans le fichier parce qu'il dosent ont une clé avec la valeur de DNS dans notre tableau.

Merci

+1

Vous souhaitez remplacer l'intégralité du fichier: http://stackoverflow.com/questions/235604/overwite-line-in-file-with-php – webbiedave

Répondre

2

Vous devez trouver un algorithme pour le faire:

  1. Lire le fichier pour remplacer la fonction file() (examiner attentivement les options, vous ne voulez pas la ligne de nouvelles omble à inclure dans la tableau).
  2. Parcourez la matrice et explode() chaque élément pour créer un nouveau tableau clé => valeur.
  3. Fusionne le tableau obtenu avec votre premier tableau.
  4. Implode arrière chaque élément du nouveau tableau
  5. Ecraser le fichier par l'implosion du tableau avec \ n
+0

Ohhh Merge pourrait me sauver une énorme douleur dans le cul –

1

Je vais seconder le commentaire de webbiedave. Vous pouvez seulement chercher dans la position appropriée et ensuite utiliser fwrite si le texte que vous écrivez avait la même taille que ce que vous écrivez (ce n'est pas le cas).

2

Je l'ai déjà fait en lisant le fichier entier dans une variable, puis en utilisant preg_replace pour remplacer les différentes variables que je voulais changer.

Questions connexes