2010-05-14 3 views
3

Можно ли переписать строку в PHP. позвольте мне быть более понятным, используя примеры.Перезаписать содержимое в PHP fwrite()

Мой массив

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 
} 

Файл им перезапись

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 

Результат Файл, который переписан

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 

Обратите внимание, что DNS1=195.100.10.1 Остается в файле, потому что у него есть ключ со значением DNS в нашем массиве.

Thanks

+1

Вы хотите переписать весь файл: http://stackoverflow.com/questions/235604/overwait-line-in-file-with-php – webbiedave

ответ

2

Вам нужно найти алгоритм, чтобы сделать это:

  1. Прочитайте файл для перезаписи с file() функции (внимательно посмотреть на варианты, вы не хотите, чтобы лента новостей голец должны быть включены в массив).
  2. Проводя через массив и explode() каждый элемент для создания нового массива => значение.
  3. Объедините полученный массив с первым массивом.
  4. Implode назад каждый товар нового массива
  5. Переписать файл, взрывается массив с \ п
+0

Охх Слияние просто может спасти мне огромную боль в заднице –

1

Я сделаю второй комментарий webbiedave. Вы можете искать только подходящую позицию, а затем использовать fwrite, если то, что вы пишете, имеет тот же размер, что вы пишете (это не так).

2

Я делал это раньше, читая весь файл в переменной, а затем используя preg_replace, чтобы заменить различные переменные, которые я хотел изменить.

Смежные вопросы