Questa è l'unica soluzione che funziona ed è portatile in tutte le unità.
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;
}
i file eliminati vengono spostati in modo corretto, per esempio:
O:\RECYCLER\S-1-5-21-1715567821-1390067357-1417001333-1003
Ripristina dal Cestino dovrebbe essere possibile, ma non ho testato.
EDIT: Ho appena aggiornato questa funzione per lavorare con file che hanno percorsi relativi.
fonte
2009-08-13 10:35:31
Solo un chiarimento per semplificare la soluzione data. Sia * is_file * che * is_array * restituiscono un valore booleano (cioè vero o falso). Confrontandolo con === con vero o falso è ridondante. Anche se ho visto di peggio, come * $ var = is_array ($ arr)? true: false; * ma comunque ... –