我有這段代碼在本地順利運行。該程序僅查找文件並在其上寫入數據。當我嘗試在服務器上運行同一程序,只是什麼也不做......php程序在本地工作,但不在服務器上
這是完整的代碼:
<?php
$myFile = "Current_User.txt";
//$produto = "sapato1";
//$produto = $produto.";";
$i = 0;
$produto = $_POST["produtoID"];
$produto = $produto.";";
//$produto = $_POST["produtoID"];
$fh = fopen($myFile, 'r');
$line_of_text = fgets($fh);
$str = $line_of_text;
$str = str_replace("\n", "", $str);
$str = $str."_Cesto.txt";
fclose($fh);
$fh2 = fopen($str, "r")or die("can't open file");
while (($line_of_text = fgets($fh2))) {
$i++;
$line_of_text = str_replace("\n", "", $line_of_text);
$line_of_text = str_replace("\r", "", $line_of_text);
if($produto == $line_of_text){
break;
}
}
fclose($fh2);
$dados = file($str);
if($i == 1){
unset($dados[$i - 1]);
}
else{
unset($dados[$i - 2]);
}
file_put_contents($str,$dados);
?>
是否在文件服務器上存在嗎? –
什麼意思是「什麼都不做」? file_put_contents()返回什麼代碼?也許你只是沒有權限在你想存儲文件的服務器上? – ualinker
你應該檢查$ dados = file($ str)的返回值什麼是$ str的可能值,它將是一個本地路徑還是它也可以是一個url?如果它可以是一個URL,你必須在PHP配置中設置allow_url_fopen。 –