0
我是一名新的PHP開發人員。我試圖在服務器上編寫一個平面文件,並且我有以下代碼。php fwrite只適用於localhost而非服務器?
<?php
$myfile= "file1.txt";
if(isset($_POST['ta'])){
$newData = nl2br(htmlspecialchars($_POST['ta']));
$handle = fopen($myfile, "w");
fwrite($handle, $newData);
fclose($handle);
}
if(file_exists($myfile)){
$myData=file_get_contents($myfile);
}
?>
<form action="file.php" method="post">
<textarea name="ta" cols="64" rows="10"><?php echo $myData; ?></textarea>
<br/> <br />
<input name="myBtn" type="submit" />
</form>
<br/>
<br/>
<?php echo $myData; ?>
我不明白的是,上述程序如何在本地主機上完美工作,但在實際服務器上什麼也不做?
運行的網絡服務器是什麼用戶?該用戶是否具有對服務器上該目錄/文件的寫入權限? – ultranaut
這是我的學校給學生的服務器,所以是的。我想我是嗎?我如何檢查? – user1865027
你有ssh訪問你的web目錄嗎?如果是這樣,你可以去那裏看看你想寫入的文件和/或目錄的權限。如果沒有,請在代碼中添加一些錯誤處理,並查看它到底發生故障的原因以及原因。我幾乎可以保證,網絡用戶沒有寫入權限。 – ultranaut