Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Из_дир (пхп)
Новая тема
Ответить
цитата
15/09/08 в 17:44
freeek
если примеру сканировать директорию, к примеру:
Код:
$d = dir('..');
то на вопрос
Код:
if (is_dir($entry))
ответ
Код:
FALSE
применяется, почти ко всем папкам,
однако если переместить сканер на позицию выше и просканировать
Код:
$d = dir('.');
то оезультат на тот же вопрос такой, какой ожидается
вопрос: мне надо как первый вариант, но с результатом второго
цитата
15/09/08 в 18:00
Corex
Надо
if (is_dir('../' . $entry))
, т.к. не указан полный путь, потому и false. В случае с '.' - подразумевается текущий каталог и полный путь без './' и так верный, поэтому true.
цитата
15/09/08 в 18:01
-=Faraon=-
Непонял чтото я вопроса. '..' - это предыдущая директория! '.' - Это текущая директория так что ты пытаешься сделать?
цитата
15/09/08 в 18:10
freeek
Код:
$d = dir('../');
while (false !== ($entry = $d->read()))
{
if ($entry != "." && $entry != "..")
{
if (is_dir($entry))
{
}
}
}
$d->close();
смысл просканить все окружащие директории, кроме родительской и лежащие на одном с ней уровне
но, из 5 дир не считая родительской, виднотолько одну
но если это файл запустить на одном уровне со всеми дирами, т.е. как во втором случае, видно все директории
вот мне и не понять в чем причина
цитата
15/09/08 в 18:33
-=Faraon=-
<?
$dir=glob("*",GLOB_ONLYDIR);
print_r($dir);
?>
все диры!
цитата
15/09/08 в 18:46
freeek
и?
хорошая функция, че то я упустил ее из виду, но она работае только с текузщем каталогом, поэтому нет смысла ее использовать
еще раз, более подробно
исполняемый файл находится здесь
Код:
../folder/go.php
//так же существуют каталоги
../cat1/
../tempfolder/
../etc/
// и т.д.
так вот мне надо из папки folder проверить, являются ли cat1,tempfolder,etc папками,
если я делаю методом описанным выше, то видно только одну папку, когда как, если переместить и сканировать из
Код:
../go.php /* испоняемый файл */
../cat1/
../tempfolder/ /* каталоги */
../etc/
все папки видно, мне и интересно, почему не видно при первом варианте, или возможно тут дейстую некие правила, и возможно ли их обойти
цитата
15/09/08 в 18:54
-=Faraon=-
<?
$dir=glob("../*",GLOB_ONLYDIR);
print_r($dir);
?>
ну так смотри. я невижу проблемы у тебя никакой что обходить. Отходняк у меня такой тяжёлый чтоли!
цитата
15/09/08 в 18:57
freeek
теперь работает
цитата
15/09/08 в 18:59
Corex
Как в пустоту написал...
Код:
$d = dir("..");
while (false !== ($entry = $d->read()))
{
echo $entry . " " . var_dump(is_dir($entry)) . "<br>\n";
echo "<u>" . $entry . " " . var_dump(is_dir(
"../" .
$entry)) . "</u><br>\n";
}
$d->close();
Проверяя просто is_dir($entry) - будет false, т.к. неверно указан путь, проверяя is_dir("../" . $entry) - будет true, т.к. указан правильный полный путь,
включающий первичную директорию
.
цитата
15/09/08 в 19:00
xreload
не туда.
цитата
15/09/08 в 19:18
freeek
Corex писал:
Как в пустоту написал...
Код:
$d = dir("..");
while (false !== ($entry = $d->read()))
{
echo $entry . " " . var_dump(is_dir($entry)) . "<br>\n";
echo "<u>" . $entry . " " . var_dump(is_dir(
"../" .
$entry)) . "</u><br>\n";
}
$d->close();
Проверяя просто is_dir($entry) - будет false, т.к. неверно указан путь, проверяя is_dir("../" . $entry) - будет true, т.к. указан правильный полный путь,
включающий первичную директорию
.
все верно, уже разобрался, едиственно что меня смутило, это то что один каталог все таки было видно, и мне почему не пришло в голову проверить именно пути до каталогов, показалось, что проблема в чем то другом х.з.
оказывается, внутри родительской диры, лежала с один из имен, что были среди искомых, и конечно же ее было видно
вот так вот пробуксовал
вариант с
глоб
мне понравился больше
всех благодарю, всех оценил
цитата
17/09/08 в 23:26
Heavy
glob конечно удобнее по использовния, но вот зараза работает не так как dir, как следствие (по моей статистике) glob не справляется на 10-15% хостов - т.е. выдает пустой результат, хотя dir все отдает как нужно.
цитата
18/09/08 в 00:43
-=Faraon=-
Быть такого неможет. ща спецально проверю.
цитата
18/09/08 в 01:07
-=Faraon=-
100к запросов 0 потерь/ может гдето не в глоб у тебя дело было! хотя если бсд стоит в некоторых версиях анамальные явление имееют место!
цитата
18/09/08 в 09:13
Heavy
-=Faraon=- писал:
100к запросов 0 потерь/ может гдето не в глоб у тебя дело было!
я же написал что
> не справляется на 10-15% хостов
а не в одних и тех же условиях на одной машине при множественных запросах подряд
на этих хостах в определенных папках - сколько раз не дергай - будет либо пустой результат, либо частичный.
с чем связано хрен поймешь, но место имеет. поэтому для массовых скриптов я glob забыл.
Новая тема
Ответить
Эта страница в полной версии