Всем привет,дайте файлик,для отчистки папки tmp чтоб на крон поставить. Слетает постоянно авторизация в грабе спейса,пока вручную файл ses.dat в папке tmp неотчищу +18 загрузки недоступны,и так раз 10 надень пробовал несколько скриптов,неочищает.может из за прав на папке? Помогите плиз
13 Окт 2012, 16:36<?
$way = 'tmp/';
$dir = opendir($way);
while ($file = readdir($dir))
{
if($file != '.' AND $file != '..' AND $file != '.htaccess')
{
unlink($way . $file);
}
}
closedir($dir);
echo 'Очищено!';
?>
function clearDir($dirName){
if(!fileExists($dirName))
throw new \RuntimeException('Требуемого каталога не существует.');
foreach(new \DirectoryIterator('адрес до папки') as $v){
$filename = $v->getFilename();
if($filename == '.' || $filename == '..') continue;
if($v->isDir()){
clearDir($filename);
rmdir($filename);
}
else
unlink($filename);
}
}
Башка, чтобы, в случае чего, поймать исключение которое ты выбрасываешь:
throw new \RuntimeException('Требуемого каталога не существует.');
А если я не выбрасываю исключение и не делаю проверку вообще, ошибку ловить не надо?
13 Окт 2012, 22:34Башка, причём тут это? Я говорю о том что исполнение этой функции должно быть в блоке try {} catch() {} иначе будет вызвана фатальная ошибка о непойманом исключении, если возникнет проблема в работе скрипта (например отсутствие папки).
13 Окт 2012, 22:39А я спрашиваю - если не использовать ни try catch, ни throw, то ловить ошибки не нужно? Или они не появятся при отсутствующей папке?
13 Окт 2012, 22:51