Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overwrite Content in PHP fwrite()

Tags:

php

file-io

Is there any way you can overwrite a line in PHP. let me be a little more clearer using examples.

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

Note that DNS1=195.100.10.1 Stays in the file becuase it dosent have a key with the value of DNS in our array.

Thanks

like image 584
Angel.King.47 Avatar asked Mar 30 '26 03:03

Angel.King.47


1 Answers

You need to find an algorithm to do it :

  1. Read the file to overwrite with the file() function (look carefully at the options, you don't want the news line char to be included in the array).
  2. Loop through the array and explode() each element to create a new key => value array.
  3. Merge the obtained array with your first array.
  4. Implode back each items of the new array
  5. Overwrite the file by imploding the array with \n
like image 135
Savageman Avatar answered Apr 01 '26 10:04

Savageman