回答
這是唯一可行的解決方案,它可以在所有驅動器中使用。
function Recycle($filename)
{
if (is_file($filename) === true)
{
$filename = realpath($filename);
$recycle = glob(current(explode('\\', $filename, 2)) . '\\RECYCLER\\*', GLOB_ONLYDIR);
if (is_array($recycle) === true)
{
return rename($filename, current($recycle) '\\' . basename($filename));
}
}
return false;
}
刪除的文件被正確地移動到例如:
O:\RECYCLER\S-1-5-21-1715567821-1390067357-1417001333-1003
從回收站恢復應該是可能的,但是我沒有測試它。
編輯:我只是更新了這個函數來處理有相對路徑的文件。
嗨,感謝您的功能。不幸的是,它不適用於我(文件消失,但我不知道在哪裏,它不在系統文件夾[DRIVE]:\ RECYCLER \\)。):(看起來(糾正我,如果我錯了)當我們將文件移動到「回收站」時,OS正在將一些數據寫入系統文件中。也許我應該使用一些DOS命令來執行exec()。)順便說一句,我在XP上。 – Toto 2009-08-14 19:41:17
我也在XP上,這個功能對我來說很好,文件顯示在回收站,我也可以看到它。例如,如果要刪除位於C中的文件,請確保啓用「顯示隱藏文件夾」,然後瀏覽到C:\ RECYCLER \ __ SOMETHING __ \文件應該在那裏,對於其他驅動器也是如此(Windows默認行爲) 。它也應該出現在回收站中。 – 2009-08-14 20:03:49
它需要一些相對路徑上的工作,現在應該工作得很好。告訴我它是否仍然無效。 – 2009-08-14 20:06:20
爲什麼不建立一個文件夾並命名爲「回收站」..然後,而不是做一個unlink()..只是將文件移動到這個「回收站」文件夾?
如果您想移動文件,請使用rename() php函數。
後來的後來,你可以運行一個cron腳本,它檢查文件的時間,然後你可以刪除文件,比方說,早於10天等
我希望這有助於。
這適用於我,using MaDdoGs CmdUtils,在Win7 x64下,php 5.4.24。還有大文件,奇怪的文件名,...
function recycle($filename)
{
if (!is_file($filename))
return false;
system(__DIR__.'/third-party/Recycle.exe -f "'.$filename.'"', $r);
return $r;
}
- 1. 如何使用PowerShell將文件移動到回收站?
- 2. 將文件移動到Qt中的垃圾桶/回收站
- 3. 是否有Winapi的方式將文件移動到回收站?
- 4. 重命名文件移到回收站
- 5. Windows:如何將具有較長路徑的文件移動到回收站?
- 6. GitHub GUI將文件夾從一個回購站移動到另一個回收站
- 7. 將收到的郵件移動到規則的RegEx文件夾
- 8. MS Access:將已刪除的記錄自動移動到「回收站」表
- 9. 將modx站點從子文件夾移動到根文件夾
- 10. 訪問VBA將文件刪除到回收站?
- 11. 我無法將文件刪除到回收站
- 12. 如何將文件夾刪除到回收站中
- 13. 正確的對象移動到回收站
- 14. 如何將textview數據從回收站視圖轉移到另一個活動?
- 15. 將文件從Mac移動到WIndows後再移回
- 16. 無法將文件移動到php文件夾中
- 17. 如何使用PyQt4將文件移動到不同平臺上的回收站/垃圾箱?
- 18. 如何將文件/目錄移動到Java回收站而不是永久刪除
- 19. 將文件移動到sysdate文件夾
- 20. hg convert - 嘗試將目錄從一個回購站移動到另一個回收站
- 21. 將文件夾移動到文件夾中移動
- 22. Git:將文件從一個回購站鏈接到另一個回收站,同時從其原始回購站接收文件更新
- 23. Htaccess規則將整個網站移動到一個文件夾?
- 24. 將站點(文件夾)移動到IIS 7服務器
- 25. 將css和javascript文件移動到另一個網站
- 26. 將CodeIgniter網站移動到子文件夾
- 27. 如何將文件夾移動到新的網站構建?
- 28. 回收站項目將onPostExecute
- 29. 將.php文件的所有文本移動到數組
- 30. PHP將數組移動到不同的文本文件中?
只是一個澄清,以簡化給定的解決方案。 * is_file *和* is_array *返回布爾值(即true或false)。將它與===比較爲true或false是多餘的。儘管我看起來更糟,例如* $ var = is_array($ arr)? true:false; *但仍然... – 2011-06-21 03:40:48