PHP - smazání adresáře
Taky se vám občas hryzne FTP a dělá psí kusy, že ne, v žádném případě to nesmažu, co si o mně jako myslíš, blbečku?
Mně se to stalo párkrát (třeba včera při upgradu Symphony CMS) a tak jsem na to už připravený. Domnívám se, že potíž je ve skrytých souborech (kdyžtak mě někdo opravte). UNIX nedovolí smazat neprázdný adresář, musí se nejprve smazat jeho obsah. A pravděpodobně jste všechen nesmazali, ikdyž si to myslíte.
Občas se výborná řešení najdou v komentářích v PHP manuálu (http://php.net/nějaká_funkce). A právě tam jsem našel tento poklad: (mírně upraven)
<?php function remove_dir($dir) { if (!$dh = @opendir($dir)) return; while (false !== ($obj = readdir($dh))) { if ($obj == '.' || $obj == '..') continue; if (!@unlink($dir.'/'.$obj)) remove_dir($dir.'/'.$obj); } closedir($dh); @rmdir($dir); } // pouziti: // remove_dir('name_of_directory'); ?>
Zatím mě nezklamal a vždycky všechno poslušně smazal i tam, kde na to byl FTP klient krátký. Tak snad poslouží i vám. ;)