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 :: В чем проблема?

 PHP.SU

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


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

> Описание: opendir () и readdir () vs Я...
DeepVarvar Супермодератор
Отправлено: 24 Декабря, 2008 - 06:29:02
Post Id



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


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


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




Описание: У меня стоит девер.. На локалке в корневом каталоге сайта находятся несколько файлов *.рнр и две папки: content и requires... Симптомы: после открытия папки content функциями opendir () и readdir () (ошибок нет) происходит следующее: функции filetype () filesize () и file () (как оказалось) корректно воспринимают только файлы созданные! до этого кода... А если указываю корневой каталог opendir('.'), то все работает нормально... И в чем проблема??? Я уже всю голову сломал...

(Отредактировано автором: 24 Декабря, 2008 - 06:30:04)

 
 Top
Champion Супермодератор
Отправлено: 24 Декабря, 2008 - 08:58:11
Post Id



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


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


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




Если вас правильно понял, вы создаете скриптом файлы и не видите их? Кстати, еще наверное, когда пишете в файл, а потом проверяете его размер функцией filesize(), размер остается неизменным...

После операций с файлами воспользуйтесь функцией clearstatcache(). Она очистит кэш состояния файлов, с которыми вы работаете и обновит его
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Декабря, 2008 - 16:31:58
Post Id



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


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


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




Champion пишет:
Если вас правильно понял, вы создаете скриптом файлы и не видите их? Кстати, еще наверное, когда пишете в файл, а потом проверяете его размер функцией filesize(), размер остается неизменным...

После операций с файлами воспользуйтесь функцией clearstatcache(). Она очистит кэш состояния файлов, с которыми вы работаете и обновит его


Я пробовал вставлять функцию clearstatcache() уже после того как написал сюда..но.., не помогло.. Вы немного неверно поняли. Я создал эти файлы и папки вручную, это сайт. После прописал скрипт поиска который работает через эти функции: в корневом каталоге без ошибок, а вот в папке content с файлами любых расширений созданных тем или иным путем... с единственным НО.... читает только те что старше самого скрипта по дате создания, или что еще более странно: если переименовать новосозданный файл на имя.расширение "старого" файла из корневого каталога (в независимости от содержимого) то он преспокойно прочитается... Для тестирования удалил все лишние строчки кода, оставил только opendir, readdir и (file, filesize)... Вот петрушка блин... Попробую переписать скрипт заново
 
 Top
Гость
Отправлено: 24 Декабря, 2008 - 16:50:01
Post Id


УДАЛЁН










Может быть файлы чем-то заняты (Какой-то программой) ?
Или еще есть вероятность что Ваша PHP-программа кривит meta-информацию о файлах, и ставит на них будущее время. Помню на конференциях по Perl были сообщения о том, что файлу можно поставить время создания з будущего и с ним удут глюки Улыбка
 
 Top
Champion Супермодератор
Отправлено: 24 Декабря, 2008 - 19:09:23
Post Id



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


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


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




Или права на них не выставлены. Ошибку пишет какую-нибудь?
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Декабря, 2008 - 20:00:40
Post Id



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


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


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




Warning: filetype() [function.filetype]: Lstat failed for proba.dat in Z:\home\www\content\srcdir.php on line 28

вот така ащибочка... С правами порядок. Я думаю можт сам денвер глючит?
(Добавление)
Champion пишет:
Или права на них не выставлены. Ошибку пишет какую-нибудь?


Щас выдеру сайт для чистоты эксперимента и в корне создам только скрипт, папку и файл в ней. О результатах отпишусь...
(Добавление)
та же бредятина...

так все отлично:

PHP:
скопировать код в буфер обмена
  1. <?
  2. $dir='.';
  3. $list = opendir($dir);
  4. while (false!==($file = readdir($list))) { print filetype($file).'<br>'; }
  5. closedir($list);
  6. ?>


так все плохо:

PHP:
скопировать код в буфер обмена
  1. <?
  2. $dir='content';
  3. $list = opendir($dir);
  4. while (false!==($file = readdir($list))) { print filetype($file).'<br>'; }
  5. closedir($list);
  6. ?>


вот...

(Отредактировано автором: 24 Декабря, 2008 - 20:02:08)

 
 Top
Гость
Отправлено: 24 Декабря, 2008 - 22:36:46
Post Id


УДАЛЁН










Цитата:
Или права на них не выставлены
Либо я что-то упустил, но по-меоему по ДЕНВЕР под Windows еще не придумали права доступа типа 755 и 644
Цитата:
Lstat failed for proba.dat
Вот прям предчувствую я неладное что-то. Повторюсь. "Помню на конференциях по Perl были сообщения о том, что файлу можно поставить время создания з будущего и с ним удут глюки". Вероятно по каким-то причинам искажена какая-та другая информация о файле и Lstat падает при получении такой информации
 
 Top
DeepVarvar Супермодератор
Отправлено: 25 Декабря, 2008 - 00:16:50
Post Id



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


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


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




JustUserR пишет:
Цитата:
Или права на них не выставлены
Либо я что-то упустил, но по-меоему по ДЕНВЕР под Windows еще не придумали права доступа типа 755 и 644
Цитата:
Lstat failed for proba.dat
Вот прям предчувствую я неладное что-то. Повторюсь. "Помню на конференциях по Perl были сообщения о том, что файлу можно поставить время создания з будущего и с ним удут глюки". Вероятно по каким-то причинам искажена какая-та другая информация о файле и Lstat падает при получении такой информации


Абсолютно согласен.. Но почему проблема начинается только в папках? А в корне все ок.. Причем копирую или вырезаю из корня файл, кидаю в папку и...читает!.., переименовываю и... не читает!!! В корне никаких проблем.. А мне надо шарить поиском лишь эту папку.., сайт простенький, в папке статеечки... Вот блин! На такой фигне запнулся... Ладно, буду ковырять дальше...
 
 Top
valenok
Отправлено: 25 Декабря, 2008 - 12:15:28
Post Id



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


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


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




слэш в конце поставь


-----
Truly yours, Sasha.
 
My status
 Top
Champion Супермодератор
Отправлено: 25 Декабря, 2008 - 12:42:40
Post Id



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


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


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




JustUserR пишет:
Либо я что-то упустил, но по-меоему по ДЕНВЕР под Windows еще не придумали права доступа типа 755 и 644
Я не обратил внимание, чтобы здесь упоминался Денвер - это раз (просто это не важно), а во-вторых, в винде тоже можно настроить права доступа к папкам.
(Добавление)
DeepVarvar пишет:
кидаю в папку и...читает!.., переименовываю и... не читает!!!
Вот уж, правда, интересно

(Отредактировано автором: 25 Декабря, 2008 - 12:44:42)

 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Декабря, 2008 - 06:22:16
Post Id



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


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


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




valenok пишет:
слэш в конце поставь

И в конце слэш, и обрамлял слэшами... но папку то открывает а вот с файлами в ней проблемы..
 
 Top
valenok
Отправлено: 26 Декабря, 2008 - 14:38:32
Post Id



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


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


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




Для особой наглядности посмотрите что представляет из себя параметр
передающийся функции filetype
,
а что у вас тут: http://php.su/forum/topic.php?fo...41640#1230141640 там где всё плохо

.. а всего то надо открыть мануал и почитать.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $dir = "/tmp/";
  4.  
  5. // Открыть заведомо существующий каталог и начать считывать его содержимое
  6. if (is_dir($dir)) {
  7.     if ($dh = opendir($dir)) {
  8.         while (($file = readdir($dh)) !== false) {
  9.             print "Файл: $file : тип: " . filetype($dir . $file) . "\n";
  10.         }
  11.         closedir($dh);
  12.     }
  13. }
  14. ?>
  15.  
  16.  

(Отредактировано автором: 26 Декабря, 2008 - 14:43:46)



-----
Truly yours, Sasha.
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 26 Декабря, 2008 - 22:32:29
Post Id



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


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


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




А с этим:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $dir = "/tmp/";
  4.  
  5. // Открыть заведомо существующий каталог и начать считывать его содержимое
  6. if (is_dir($dir)) {
  7.     if ($dh = opendir($dir)) {
  8.         while (($file = readdir($dh)) !== false) {
  9.             print "Файл: $file : тип: " . filetype($dir . $file) . "\n";
  10.         }
  11.         closedir($dh);
  12.     }
  13. }
  14. ?>
  15.  
  16.  

...кодом в корневом ошибки, а из папки вообще ничего не выводит...

Посему намерен снести денвер и поставить нормальную связку apache + php... Чем собсно и занимаюсь.. Ведь сам вижу фигня какая то...
 
 Top
valenok
Отправлено: 26 Декабря, 2008 - 23:48:54
Post Id



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


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


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




не верю


-----
Truly yours, Sasha.
 
My status
 Top
DeepVarvar Супермодератор
Отправлено: 27 Декабря, 2008 - 10:09:36
Post Id



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


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


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




valenok пишет:
не верю

Сам не верю.. Но факт остается фактом.. Как разберусь в чем проблема, отпишусь..
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB