[英]unlink cannot delete file
我對使用PHP unlink()在ubuntu中刪除文件感到沮喪。
我創建了一個非常簡單的模擬如下:
“image.png”仍然存在於“files”目錄中
這是delete.php的php腳本:
$filename = 'image.png';
$file = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . $filename;
unlink($file);
我還嘗試了以下腳本:
$filename = 'image.png';
$dir = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'files';
chdir($dir);
unlink($filename);
但仍無法刪除該文件。
Unlink會在失敗時拋出警告。 檢查E_WARNING是否可見,以便了解最新情況。
它通常歸結為用戶權利。 請記住,如果您的腳本是由瀏覽器執行的,通常名為wwwrun
或wwwdata
(或類似的東西)的用戶正在您的服務器上執行它。
檢查此用戶是否有權刪除,然后重試。
目錄的文件夾/所有者可以是與用於運行php的用戶不同的用戶。
您應該創建一個分配了用戶php的文件夾。 如果您不能這樣做,請讓您的ISP進行此操作。 這就是我解決類似問題的方法。
一個用戶無法刪除unix系統上其他用戶的文件。 如果您將其設置為777,那么您可以將其刪除...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.