PHP fwrite yılında İçerik üzerine yaz ()

3 Cevap php

PHP bir satırın üzerine herhangi bir yolu var mı. Bana biraz daha net örnekler kullanarak olalım.

My array

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
}

File im overwriting

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

Result of the File that is rewritten

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

Bu bizim dizide DNS değeri ile bir anahtar dosent becuase DNS1=195.100.10.1 dosyada kalır edin.

Teşekkürler

3 Cevap

Bunu yapmak için bir algoritma bulmak gerekir:

  1. (Seçenekleri dikkatlice bakarsanız, size haber hattı karakter diziye dahil olmak istemiyorum) file() fonksiyonu üzerine yazmak dosyasını okuyun.
  2. Yeni bir anahtar => değer diziyi oluşturmak için dizi ve explode() her eleman döngü.
  3. İlk dizi ile elde edilen dizi birleştirme.
  4. Yeni dizinin her geri öğeleri implode
  5. \ N ile dizi imploding tarafından dosyanın üzerine yaz

Ben bir değişken tüm dosyayı okuduktan sonra ben değiştirmek istedim, çeşitli değişkenler yerine preg_replace kullanarak önce yaptık.

Ben ikinci webbiedave yorumuna olacak. Sadece uygun pozisyona aramak ve daha sonra ne üzerine yazarken (öyle böyle değil) yazıyoruz ne aynı boyutta olsaydı fwrite kullanabilirsiniz.