Я работаю над linux (распбиан). Код работает локально, но не на сервере.
Я не могу понять, в чем проблема в коде. Функция addLineToFile работает идеально, а deleteLineFromFile - нет.
Я вызываю функции с:
if (isset($_POST['delete'])){
$valTemp = $array[$_POST['delete']];
addLineToFile($directory."linkOffline.txt",$valTemp);
deleteLineFromFile($directory."output.txt",$valTemp);
}
, где
$directory = "/home/pi/linkFinder/server/";
, затем
function addLineToFile($dirFile, $line){
$myfile = fopen($dirFile, "a") or die("Unable to open file!");
fwrite($myfile, "\n". $line);
fclose($myfile);
}
function deleteLineFromFile($dirFile, $line){
$contents = file_get_contents($dirFile);
$contents = str_replace($line."\r\n", '', $contents);
file_put_contents($dirFile, $contents);
}
Я попытался назначить все разрешения для текстовых файлов с помощью chmod 777.
Я также подумал, что могут быть некоторые проблемы с file_get_contents и file_put_contents. Поэтому я переписал эту функцию следующим образом, но она все еще не работает.
function fileGetContents2($url) { //alternativa a file_get_contents
$file = fopen($url, 'r');
$data = stream_get_contents($file);
fclose($file);
return $data;
}
function deleteLineFromFile($dirFile, $line){
$contents = fileGetContents2($dirFile);
$contents = str_replace($line."\r\n", '', $contents);
$myfile = fopen($dirFile, "w") or die("Unable to open file!");
fwrite($myfile, $contents);
fflush($myfile);
fclose($myfile);
}
TXT-файлы находятся в папке / home / user / ... и генерируются сценарием python.
Заранее спасибо