2012-01-31 64 views
-1

我呼籲目錄中的PHP unlink()功能(user-images/1/p/)包含以下文件:PHP的unlink命令刪除多個文件

1.jpg 
1-s.jpg 
1big.jpg 
2.jpg 
2-s.jpg 
2big.jpg 

的實際調用本身如下:

unlink('user-images/1/p/1big.jpg'); 

相反只刪除1big.jpg,它將刪除其中包含1的所有文件(1big.jpg,1-s.jpg1.jpg)。我已經研究了這一點,似乎無法找到任何人發佈類似的問題。

編輯: 下面是完整的腳本,真的沒有太多,沒有看到有什麼可能會受到影響。我從來沒有見過這之前無論是:(

<?PHP 
unlink('user-images/1/p/1.jpg'); 
unlink('user-images/1/p/1-s.jpg'); 
$uid = '1'; 
$fileName = '467'; 
$image = '/friskyfriends/user-images/1/p/1-big.jpg'; 
$width = 320; 
$height = 320; 
buildPics(); 
//buildPics($uid,$fileName,$image,$width,$height); 
?> 
+9

嘗試一個簡單的PHPfile,只有在它的取消鏈接線,並直接調用它,看看,如果仍然發生。如果沒有,問題可能在腳本中的其他地方!不知何故,我懷疑它與unlink-command本身有關。 – tim 2012-01-31 07:26:25

+2

這太瘋狂了,它不應該發生,我從來沒有聽說過它發生過。 a)你能分享完整的腳本嗎?因爲它聽起來好像還有其他問題嗎? b)你有沒有試過運行一個腳本,除了單一的unlink()調用之外什麼都沒有? – GordonM 2012-01-31 07:28:33

+0

只是爲了試驗,嘗試使用絕對路徑而不是相對路徑。如果這不起作用,請重命名文件並刪除並查看會發生什麼。 – 2012-01-31 07:31:54

回答

1

運行時,只有在它的unlink代碼的PHP文件,它工作得很好,我追蹤了我的其他內容(永遠佔用:(),並在編碼之前發現了一些問題,但仍然不確定爲什麼會影響靜態的unlink()調用,也就是說,這是代碼中其他地方的一個問題。我很欣賞每個人提出的時間和精力來幫助我解決這個問題......

0

請添加對哪個圖像要刪除取消鏈接功能。

unlink($image); 
+0

爲什麼「請取消取消鏈接」?那麼他將如何刪除該文件?您的代碼只是刪除OP想要使用的功能... – 2012-01-31 08:15:07

+0

如果您想要刪除一個文件的含義,請使用一行取消鏈接功能。 – Sivanath 2012-01-31 08:21:26

+0

在你的答案中沒有這樣的東西......你應該用這個解釋編輯它,到目前爲止,它似乎只是你想讓他完全取消取消鏈接 – 2012-01-31 08:27:31

6

我想你正在尋找GLOB功能,它允許使用通配符進行刪除。

例如

foreach (glob("*.jpg") as $filename) { 
    echo "$filename size " . filesize($filename) . "\n"; 
    unlink($filename); 
}