2014-02-22 65 views
-1

無論用戶何時單擊yes以刪除表單提交,我都無法使用php刪除文件夾中的文件。 這些文件仍然存在該文件夾中,即使使用unlink()功能後:無法使用php刪除文件系統中的文件

<form method='post'> 
<input type='submit' name='del' value='Yes'> 
</form> 
<?php 
if(isset($_POST['del'])) 
    { 

    $filename=$userid.".jpg"; 
    unlink('upload-cover/uploads/$userid/$filename'); 
    echo "Your image has been deleted successfully!!"; 
    } 

?> 
+1

學習基本的PHP語法:變量在雙引號內部擴展,而不在單引號內。 – Barmar

回答

1

如果使用單引號,genrated的文件名是不正確的。

此外,請確保您有正確的權限

unlink("upload-cover/uploads/$userid/$filename"); 
2

嘗試你必須有傳遞給取消鏈接功能的雙引號括起來的。這是因爲PHP會直接解釋單引號中的字符串,因此不包括您的變量。試試這個:

unlink("upload-cover/uploads/$userid/$filename"); 

或者:

unlink("upload-cover/uploads/".$userid."/".$filename); 

我認爲第二個選項是一個很大的可讀性,並防止類似錯誤,你遇到的一個!

這是一個很好的答案,瞭解PHP字符串和路徑: What is the difference between single-quoted and double-quoted strings in PHP?

0

通過查找到您的代碼似乎它是可變查找問題

變量中單引號是字符串到PHP引擎

unlink('upload-cover/uploads/$userid/$filename'); 

其中作爲內部雙引號變量是變量到t他的PHP引擎

unlink("upload-cover/uploads/$userid/$filename");