Форум → Программирование → PHP для идиотов → Удаление по расширению из каталога
Удаление по расширению из каталога
-
11 июня 2008 г. 23:46, спустя 5 минут 28 секунд
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
if (false !== strpos($file, '.gif'))
unlink($file);
closedir($handle);
} -
11 июня 2008 г. 23:55, спустя 8 минут 38 секунд
CTAPbIu_MABP, а если файл будет называться my.gif.jpg? =)) -
11 июня 2008 г. 23:57, спустя 2 минуты 33 секунды
CTAPbIu_MABP, сенкс! а можно небольшой комментарий к нижеуказанным строкам, плз ?
opendir('.') - я понимаю, туда адрес, типа /images
а тут как быть?
$file != "." && $file != ".." ?а если файл будет называться my.gif.jpg?
а кто его так назовет ? ) -
12 июня 2008 г. 0:03, спустя 5 минут 23 секунды
opendir('.') - я понимаю, туда адрес, типа /images
Да.$file != "." && $file != ".." ? - сюда наверно .gif надо вписать, а во второй?
. — это корень, .. — родительский каталог. Да, это тоже входит в список файлов. Ниче вписывать сюда не надо, естественно.а кто его так назовет ? )
Хз =) Я бы все равно прег_матч заюзал. -
12 июня 2008 г. 0:08, спустя 5 минут 13 секунд
Тоесть получается что-то на подобии:$dir=getenv("DOCUMENT_ROOT").'/test/';
удаляет не только .gif, но и .gif1, .gif123 etc. но работает =) огромное сенкс!
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
if (false !== strpos($file, '.gif'))
unlink("$dir$file");
closedir($handle);
} -
12 июня 2008 г. 0:20, спустя 11 минут 58 секунд
А как подсчитать количество этих .gif файлов в катаге и выдать результат в виде цифр ? -
12 июня 2008 г. 1:02, спустя 41 минуту 53 секунды
sap, хз это не мои проблемы, я тебе больше скажу нормальный файл img.GIF тоже не удалиться
по поводу регулярок
if(preg_match("/\.gif$/i", $file))
° Exploden °, вместо
if (false !== strpos($file, '.gif')) -
-
12 июня 2008 г. 6:42, спустя 3 часа 9 минут 22 секунды
Да, кстати, с регистром придется тоже помучаться. На win-системах это одинаковые файлы (GIF и gif), но на *nix системах - они разные (насколько я знаю).
Да, кстати, функция scandir() работает быстрее, чем while readdir ;) -
12 июня 2008 г. 9:42, спустя 3 часа 40 секунд
ок,А как подсчитать количество этих .gif файлов в катаге и выдать результат в виде цифр ?
-
12 июня 2008 г. 10:07, спустя 24 минуты 17 секунд
if ($handle = opendir('.')) {
$i = 0;
while (false !== ($file = readdir($handle)))
if ($file != "." && $file != "..")
if (false !== strpos($file, '.gif'))
$i++;
closedir($handle);
echo $i;
} -
Пожалуйста, авторизуйтесь, чтобы написать комментарий!