Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Грамматика каталогов
Форумы портала PHP.SU » PHP » Программирование на PHP » Грамматика каталогов

Страниц (1): [1]
 

1. xardboy - 13 Августа, 2007 - 14:53:15 - перейти к сообщению
Ребята, помогите разобраться!
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $dir = opendir('F:/..../c_img');
  4. while ( $d = readdir( $dir ) )
  5.  {
  6.    if ( is_file( $d ) and strpos( $d, ".gif" )!==false )
  7.    {
  8.      echo '<img src='.$d.' border=0>';
  9.     }
  10.  }
  11. closedir($dir);
  12. ?>
  13.  


Ничего не выводит, хотя файлы существуют...

При
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $dir = opendir('.');
  4. while ( $d = readdir( $dir ) )
  5.  {
  6.    if ( is_file( $d ) and strpos( $d, ".gif" )!==false )
  7.    {
  8.      echo '<img src='.$d.' border=0>';
  9.     }
  10.  }
  11. closedir($dir);
  12. ?>
  13.  

все работает (если срипт находиться в той же директории, что и файлы).
Вопрос: как правильно задать путь opendir()?
2. Viper - 13 Августа, 2007 - 15:28:04 - перейти к сообщению
эээ кажись можно так...
$root_path = "./";
$dir = opendir($root_path);

такое значение для переменной $root_path если файлы в корневой папке. если /file/, то тогда так $root_path = "./../";
3. xardboy - 13 Августа, 2007 - 15:33:56 - перейти к сообщению
корневой каталог
---каталог1
---каталог2
---....
---каталог00
файл.пшп
файл2.пшп
....
файл00.пшп

Надо чтобы файл00 сканировал каталог00.
Как прописать opendir? Разве можно только точками прописывать?
И плюс к тому каталогов то несколько? Разве тут ./../ поможет?
4. evgenijj - 13 Августа, 2007 - 15:35:33 - перейти к сообщению
http://forum.php.su/topic.php?fo...=1&topic=268
5. xardboy - 13 Августа, 2007 - 15:56:39 - перейти к сообщению
Спасибо. Более менне разобрался. А все-таки опендир нельзя задать адресом? типа полный путь или же сокращенный?
6. evgenijj - 13 Августа, 2007 - 16:04:15 - перейти к сообщению
xardboy пишет:
А все-таки opendir() нельзя задать адресом? Типа полный путь или же сокращенный?

Ну так попробуй - а потом нам расскажешь. Все с удовольствием прочитают.
7. xardboy - 13 Августа, 2007 - 16:07:48 - перейти к сообщению
Мда... Жалко. Все таки есть недостатки в ПХП. Ладно, пойду подавать просьбу разработчикам о именении функции opendir()... ))

П.С. О, кстати, только что вспомнил...
Как прописать ссылку на файл, который лежит вне директории Апача? Например на другом локальном диске?
Через виртуальный хост?
8. evgenijj - 13 Августа, 2007 - 16:23:08 - перейти к сообщению
xardboy пишет:

Как прописать ссылку на файл, который лежит вне директории Апача? Например, на другом локальном диске?

Думаю, что никак. А по поводу локальных дисков - в Unix нет понятия логических дисков. Там вся файловая система "растет" из директории root - "/". А в любую поддиректорию root может быть смонтирована любая другая файловая система, в том числе и находящаяся на другом физическом диске, или расположенная на другом компьютере сети (NFS).
9. xardboy - 13 Августа, 2007 - 17:12:22 - перейти к сообщению
А если Виндоус? Знаю, что nix- системы для сайтов как низзя лучше, но а если Виндовс стоит? Не буду же я в директорию Апача закидывать 100 Гигов информации?
10. Джур - 14 Августа, 2007 - 05:29:47 - перейти к сообщению
Если данные на этой же машине, то надо просто прописать путь.
можно абсолютный (для виндовс F:/my/doc/vidio/) для локалки это надо писать так //keeper/media/video но учтите файл php.ini может запрещать такие действия. А для локальной сети все операции довольно медленные.
И еще... Если кто заикнется что я написал слеши неправильно, найду и убью... Ибо мне Юзвери на работе этим вопросом мозг уже про***. так что так.
11. Viper - 14 Августа, 2007 - 10:21:24 - перейти к сообщению
xardboy пишет:
П.С. О, кстати, только что вспомнил...
Как прописать ссылку на файл, который лежит вне директории Апача? Например на другом локальном диске?
Через виртуальный хост?

можно, но только настроив WebDAV и дав доступ к этому файлу в инет.

 

Powered by ExBB FM 1.0 RC1