Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
PHP, проверить по расширению наличие файла и получить имя
Новая тема
Ответить
цитата
02/08/08 в 05:52
just_beginner
в дирректории может быть (а может и не быть) 1 файл .flv
нужно проверить есть ли такой и есть есть - получить его имя..
посоветуйте самый негеморный способ (дирректорий таких тысячи. делается при каждом обращении)
большое спасибо
цитата
02/08/08 в 06:09
Sterx
первое что пришло:
Код:
if ($handle = opendir($cat)){
while (false !== ($file = readdir($handle))) {
if (strstr($file, ".flv")) {
$array_names[]=$file;
}
}
if($array_names){print_r($array_names);}else{echo "FLV files not found";}
это для одной директории $cat
цитата
02/08/08 в 06:45
Teacher-X
Код:
foreach (glob("path_to_dir/*.flv") as $filename) {
echo $filename;
}
цитата
02/08/08 в 06:47
just_beginner
Sterx:
немного не то..
Teacher-X:
респектище
цитата
02/08/08 в 07:07
wMaster
just_beginner писал:
Sterx:
немного не то..
Teacher-X:
респектище
Гм, вообще-то оба примера по сути одно и тоже.
цитата
02/08/08 в 07:17
just_beginner
wMaster писал:
Гм, вообще-то оба примера по сути одно и тоже.
я не силен в пхп. может по сути одно и то же.. но первый не заработал, второй заработал и кода меньше
цитата
02/08/08 в 07:18
just_beginner
а еще подскажите что добавить ко второму примеру чтобы писать чего на случай если нет видео файла?
цитата
02/08/08 в 07:34
wMaster
Эти примеры покажут только файлы которые существуют.
цитата
02/08/08 в 07:38
Teacher-X
вроде говорил, что файл всего один, тогда наверно можно вот так:
Код:
if( list(, $value) = each(glob("path_to_dir/*.flv")) ) {
echo $value;
}else{
echo "хуй там кого";
}
цитата
02/08/08 в 14:22
just_beginner
Teacher-X писал:
вроде говорил, что файл всего один, тогда наверно можно вот так:
Код:
if( list(, $value) = each(glob("path_to_dir/*.flv")) ) {
echo $value;
}else{
echo "хуй там кого";
}
.flv файл будет один, кроме него будут html, jpg и т.д. вот нужно проверить есть ли он, и если есть получить имя..
цитата
02/08/08 в 15:20
Teacher-X
just_beginner писал:
.flv файл будет один, кроме него будут html, jpg и т.д. вот нужно проверить есть ли он, и если есть получить имя..
последний код должен это делать по идее, или нет?
цитата
02/08/08 в 15:26
SomeVar
ну если файл flv гарантированно один то для ускорения работы скрипта и экономии памяти под него наверное так лучше сделать:
Код:
<?
$dir = './';
$file = '';
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false)
if (strstr($file, '.flv'))
break;
closedir($dh);
if (!($file))
echo 'no flv files';
else
echo $file;
}
?>
цитата
02/08/08 в 15:39
just_beginner
Teacher-X писал:
последний код должен это делать по идее, или нет?
что то он у меня ничего вообще не делает... первый вот делал если файл был...
цитата
02/08/08 в 15:41
just_beginner
SomeVar:
во, заработало как надо
цитата
02/08/08 в 16:09
Sha
just_beginner писал:
SomeVar:
во, заработало как надо
До тех пор пока в каталоге не появится что-то вроде "xxxxx.flv.bak"
цитата
02/08/08 в 16:19
Sterx
Sha писал:
До тех пор пока в каталоге не появится что-то вроде "xxxxx.flv.bak"
но вероятность этого стремится к нулю
цитата
02/08/08 в 16:45
xreload
топикстатер у тебя подпись под ником очень в тему
цитата
03/08/08 в 08:05
just_beginner
xreload:
Sha:
да не должно вроде ничего такого там появиться... и двух flv файлов недолжно тоже
цитата
07/08/08 в 20:08
ad?alt!
код просто жжет
цитата
08/08/08 в 17:24
Sha
Кстати да.
Поместите любой файл в каталог. А .flv файл удалите. А если каталог пуст, то вообще по идее будет выдаваться '..'
цитата
09/08/08 в 00:28
leroy_17
а зачем читать каталоги каждый раз ? что кеш в наше время уже не модно ?
частое чтение большого каталога убивает диск за полгода примерно
Новая тема
Ответить
Эта страница в полной версии