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 :: scandir()

 PHP.SU

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


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

> Описание: Не хочет работать вообще
iZet
Отправлено: 07 Июля, 2008 - 11:53:50
Post Id


Новичок


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


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




Здравствуйте спецы и неспецы PHP. Хочу отсканировать директории на сервере. Пользуюсь функцией scandir(). Она мне выдает:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. Fatal error:  Call to undefined function:  scandir() in z:\home\localhost\www\fotogallery\php\functions.php on line 5
  3.  

Не понял Не понял Не понял

Пожалуйста, объясните тугодуму, что можно сделать, шоб заработало. Уж очень она мне нужна - эта функция
 
 Top
valenok Модератор
Отправлено: 07 Июля, 2008 - 16:58:30
Post Id



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


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


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




1. сменить хостера на поддерживающего php5
2. открыть документацию по этой функции и посмотреть комментарии. Там есть имплементации для php4


-----
Truly yours, Sasha.
 
My status
 Top
iZet
Отправлено: 10 Июля, 2008 - 09:31:50
Post Id


Новичок


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


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




Поставил php5. Функция естественно заработала. Теперь другая с ней проблема:
Получил массив файлов, но в этом массиве первые 2-е строчки занимают точка и две точки (т.е. знак данной директории и знак родительского каталога).

CODE (text):
скопировать код в буфер обмена
  1. Array(
  2. [0] => .
  3. [1] => ..
  4. [2] => "Имя_какого_нибудь_файла_1"
  5.  
  6. [N] => "Имя_какого_нибудь_файла_N"
  7. )


Вопрос: как избавится от этих первых двух элементов массива? Однако
 
 Top
valenok Модератор
Отправлено: 10 Июля, 2008 - 09:43:34
Post Id



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


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


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




Хорошенько подумав головой


-----
Truly yours, Sasha.
 
My status
 Top
iZet
Отправлено: 10 Июля, 2008 - 10:13:43
Post Id


Новичок


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


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




Спасибо за совет Хорошо
Подумал. Пробежал цикл с точками foreach'ем и задал условие если значение массива != '.' и '..' то забить его(значение) в другой массив.
Но такая реализация мне не очень подходит, так как файлов слишком много и 2 раза бежать один и тот же массив выходит накладно Хм
(Добавление)
Вот теперь точно нашел решение.
$imgnames - это мой массив с точками.
Берем, и переварачиваем его.
CODE (text):
скопировать код в буфер обмена
  1. $imgnames = array_reverse($imgnames);

Потом считаем скока в массиве элементо и удаляем два последних (как раз это мои два не нужных значения '.' и '..').
CODE (text):
скопировать код в буфер обмена
  1. $kol = count($imgnames); unset($imgnames[$kol-1], $imgnames[$kol-2]);

И возвратим массив в исходное состояние, только без точек.
CODE (text):
скопировать код в буфер обмена
  1. $imgnames = array_reverse($imgnames);

Вот. Вроде правильно и быстрее, чем бежать циклом весь массив. Ну по крайней мере мне подходит такая кострукция Закатив глазки

(Отредактировано автором: 10 Июля, 2008 - 10:33:08)

 
 Top
valenok Модератор
Отправлено: 10 Июля, 2008 - 10:44:12
Post Id



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


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


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




Начните цикл со второго ключа массива
for($i=2;....) или next();


-----
Truly yours, Sasha.
 
My status
 Top
ПхП-ломастер
Отправлено: 10 Июля, 2008 - 11:19:32
Post Id


Новичок


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


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

[+]


Unset()
 
 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