文本文件名:Fruits.txt
此文件包含4行:
Apple
red
sweet
1kg
如果我添加有关APPLES的数据,那么上面的行应该被新数据替换,但如果我添加有关任何其他水果的数据,那么它应该附加在文本文件中。
错误获取:注意:未定义的偏移量:-1和注意:未定义的偏移量:1
我的代码:
$dir = "./fruits.txt";
$end = 0;
$name = $_GET['fruits'];
$handle = fopen($dir,"r");
while(!feof($handle)){
$line = fgets($handle);
$end++;
}
fclose($handle);
$line = file($dir);
for($i=0;$i < ($end -1); ++$i){
$fruit_name = trim($line[$i]);
if($name == $fruit_name){
$contents = file_get_contents($dir);
$contents = str_replace($line[$i + 3],'',$contents);
file_put_contents($dir,$contents);
$contents = file_get_contents($dir);
$contents = str_replace($line[$i + 2],'',$contents);
file_put_contents($dir,$contents);
$contents = file_get_contents($dir);
$contents = str_replace($line[$i + 1],'',$contents);
file_put_contents($dir,$contents);
$contents = file_get_contents($dir);
$contents = str_replace($line[$i],'',$contents);
file_put_contents($dir,$contents);
}
}
$new_data = "$name\r\n$color\r\n$taste\r\n$qty\r\n";
$file = fopen("$dir", "a");
fwrite($file,$new_data);
当只有一个条目时:上面的代码完全添加了在txt文件中添加数据,并在找到匹配项时替换...
当有多个条目时:它显示上述错误..
我做错了什么,请帮助我......?
或者有更好的方法来实现我想要的......?
Thanx提前......:)