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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Opendir

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Acuna
Отправлено: 30 Октября, 2008 - 23:16:04
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




Первый раз с таким столкнулся... Вот у меня есть такой код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if ($handle = opendir('/dir1/dir2')) {
  4. while (false !== ($file = readdir($handle))) {
  5. if ($file != "." && $file != "..") {
  6.  
  7. echo "$file";
  8. }
  9. }
  10. closedir($handle);
  11. }
  12.  
  13. ?>
Если он в отдельном файле, то работает прекрасно. Но если вставить его в какой-либо файл, то пишет Error opening /dir1/dir2. No such file or directory in... Папки, разумеется, на месте. Не подскажете в чем тут может быть дело? Заранее благодарен!


-----
The Lisalover
!!! I LOVE PHP !!!
 
 Top
Agassi
Отправлено: 30 Октября, 2008 - 23:47:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. [quote=Acuna]if ($handle = opendir('/dir1/dir2'))[/quote]


Не понимаю,как она ваше срабатывала

замени на


(Добавление)
Не помешает проверка на сушестовавние и правильность пути проверить


 
 Top
Acuna
Отправлено: 31 Октября, 2008 - 06:27:35
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




Спасибо! И вот еще: Этот код выводит имена всех файлов в папке в строчку. (Если через echo) А как добавить эту строку в этот код?
Просто если написать просто $file, то не работает...

(Отредактировано автором: 31 Октября, 2008 - 06:58:58)



-----
The Lisalover
!!! I LOVE PHP !!!
 
 Top
Agassi
Отправлено: 31 Октября, 2008 - 11:48:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Не сильно понел вопрос.Может это имел ввиду

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $str="";
  4. if ($handle = opendir('dir1/dir2/'))
  5. {
  6. while (false !== ($file = readdir($handle)))
  7.  {
  8. if ($file != "." && $file != "..")
  9. {
  10. $str.=$file.",";
  11. }
  12. }
  13. closedir($handle);
  14. $smilies = explode(",", $str);
  15. for($i=0;$i<(count($smilies)-1);$i++)
  16.  echo $smilies[$i]."<br />";
  17.  
  18. }
  19.  
  20. ?>
 
 Top
Acuna
Отправлено: 31 Октября, 2008 - 13:31:51
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




О! Да ты просто Бог! Именно это я и хотел!

Да, и вот еще: вот он выводит имена файлов. А как у них отбросить расширения (чтобы было не test.txt, а просто test)? Сенкс!


-----
The Lisalover
!!! I LOVE PHP !!!
 
 Top
valenok Модератор
Отправлено: 31 Октября, 2008 - 13:52:19
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $path = "/home/httpd/html/index.php";
  3. $file = basename($path);         // $file содержит "index.php"
  4. $file = basename($path, ".php"); // $file содержит "index"
  5. ?>
  6.  


либо находим последнее вхождение точки и отрезаем тот кусок строки который находится с лева от нее


-----
Truly yours, Sasha.
 
My status
 Top
Agassi
Отправлено: 31 Октября, 2008 - 14:33:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




valenok пишет:
$file = basename($path, ".php"); // $file содержит "index"
\

Не сильно харашо будет,ему надо зделать на все виды расшерения


Лучше взять регулярку и удалять после последной точки если это файл
 
 Top
Acuna
Отправлено: 31 Октября, 2008 - 15:06:19
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




Спасибо! И вот еще: opendir почему-то открывает папку, только если она находится вместе с файлом, в кот. прописан этот код. А как ему объяснить, что открывать нужно именно корневую папку... Простите, но объяснил, как смог... На пальцах... Улыбка


-----
The Lisalover
!!! I LOVE PHP !!!
 
 Top
Champion Супермодератор
Отправлено: 31 Октября, 2008 - 16:00:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




'/'
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB