[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сканирование папки только на изображение
Страницы: 1, 2
m4a1fox
Доброго всем дня. Есть вот такая штука (метод)

public function ScanDirForImage() {
$scan = scandir($this->path);
print_r($scan);
for ($i=0; $i<count($scan); $i++) {
if($scan[$i] != '.' && $scan[$i] != '..') {
$true[] = $scan[$i];
}
}

return $true;
}

Сканирует папку, все красиво, но он сканирует на все изображения. Как задать ограничения? Например только картинки!
Invis1ble
Эмм.... А чем отличаются изображения от картинок? я всегда думал, что это одно и тоже smile.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

m4a1fox
Invis1ble
Ок! А если вот такой файл....
Thumbs.db

скрытый файл!
Invis1ble
я чесно говоря не понимаю, что ты имеешь ввиду...
что хочешь сделать?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Invis1ble
$files = glob($dir_path . '*.png');
print_r($files);

оно ?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

m4a1fox
Invis1ble
Да, что типо этого! Осталось вместо *png, всунуть массив разрешенных форматов!
m4a1fox
Вот так переделал

public function ScanDirForImage() {
$scan = glob($this->path . '*.jpg');
for ($i=0; $i<count($scan); $i++) {
$true[] = $scan[$i];
}
return $true;
}
Invis1ble
А зачем цикл? Для красоты?
    public function ScanDirForImage() {
$true = glob($this->path . '*.jpg');
return $true;
}

;)

UPD.
public function ScanDirForImage() {
return glob($this->path . '*.jpg');
}


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

m4a1fox
Invis1ble
Точняк.... Усложняю что-то я все.... А как тогда вместо разрешения засунуть массив разрешенных форматов?
Invis1ble
Я чесно говоря до сих пор не понимаю, какой формат регулярных выражений используется в glob(), ибо варианты типа
*.(jpg|png)

не работают, но можно сделать примерно так:
public function ScanDirForImage() {
return glob('{' . $this->path . '*.' . implode(',' . $this->path . '*.', $this->formats) . '}', GLOB_BRACE);
}


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

waldicom
Использовать glob со вторым параметром GLOB_BRACE.

Edit: опередили

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Invis1ble
waldicom
а не подскажешь, почему
(a|b)

не работает?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

waldicom
Просто потому что функция glob не понимает параметры в таком виде. Только запятые, да еще и без пробелв между запятой(запятыми)

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Invis1ble
waldicom
ясно, насчет пробелов кстати я только что сам обнаружил этот прикол )

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

m4a1fox
Господа! Решение нашел! Правда по другому пути.... Извините что потратил ваше время...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.