Просмотр полной версии : невидимый файл
Всем приветы!
Написал небольшой фотоальбом. Функция проверяет папку на наличие в ней файлов, а затем, отобрав из них картинки, создает массив с именами. Далее записывает их столбиком и делает ссылки, где href состоит из двух частей: названия папки (передается через url) и названия папки (берется из массива). Так строится навигация в пределах папки.
При обнаружении подпапки проверяет ее и ее подпапки... Так строится навигация по папкам.
Только вот проблема: скрипт выдает ошибки, если натыкается на скрытые/системные файлы, например, Thumbs.db. Чего я еще не понимаю -- этот Thumbs.db я вижу в ftp-клиенте (FileZilla), а в винде (в том числе и при настройке "отображать скрытые и системные файлы") нет...
В чем тут может быть дело?
Спасибо.
ЗЫ Да, ошибки такие:
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 113
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 113
Notice: Undefined index: in z:\home\khanataev\www\photos\gallery.php on line 126
...приаттачиваю на всякий случай скрипт, но смотреть вряд ли имеет смысл -- я по неопытности написал его так, что кроме меня его, думаю, все равно никто не поймет...
is_readable() не помогает.
if(is_readable($_REQUEST['path']."/".$dirphotos_namesArray[$i]))
{
$dirphotos[$dirphotos_namesArray[$i]]=$dirphotos_datesArray[$i];
echo "$i ".$dirphotos[$dirphotos_namesArray[$i]]." => ".$dirphotos_datesArray[$i]."<br>\n";
}
У "нормальных" файлов echo такое:
...
39 07-02-2005 19:36:28 => 07-02-2005 19:36:28
40 07-02-2005 19:39:56 => 07-02-2005 19:39:56
41 07-02-2005 19:40:28 => 07-02-2005 19:40:28
42 07-02-2005 19:41:04 => 07-02-2005 19:41:04
43 07-02-2005 19:41:34 => 07-02-2005 19:41:34
44 07-02-2005 19:42:20 => 07-02-2005 19:42:20
Дойдя до проблеммного файла, программа выдает:
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 113
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 115
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 115
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 116
Notice: Undefined offset: 45 in z:\home\khanataev\www\photos\gallery.php on line 116
45 =>
Notice: Undefined index: in z:\home\khanataev\www\photos\gallery.php on line 129
Если я правильно понимаю, это означает, что файл все же readable...
exif_imagetype() ? он вроде не генерирует ворнинг, если файл не является графикой.
is_readable() не помогает.
Это значит, что ты гонишь про "скрытые/системные файлы". Ошибка -- в твоем коде, заполняющем массив.
Хорошо, гоню, только факт в том, что во всех папках, где нет файла Thumbs.db, скрипт работает нормально.
прекрасно. что мешает исключить этот конкретный файл из обработки, если уж тебе лень искать плюху в месте, где ты заполняешь массив?
Мешает примерно то же, что мешает подобрать где-нибудь готовый скрипт или пользоваться Денвером вместо того, чтобы долбаться с Apache. Плюху же в коде искать не лень, просто не нашел самостоятельно и обратился к форуму -- по-моему, пока еще по закону не преследуется.
ОК, тогда такой вопрос, если кто знает: почему в фтп-клиенте видно файлы, которые не отображаются в виндос-эксплорере и что это за особенные файлы? Думаю, может тут проблема...
Мешает примерно то же, что мешает подобрать где-нибудь готовый скрипт или пользоваться Денвером вместо того, чтобы долбаться с Apache.
Please, еще раз и медленно: у тебя проблемы с вставкой в код единственного оператора if? Это ТВОЙ код?
Плюху же в коде искать не лень, просто не нашел самостоятельно и обратился к форуму -- по-моему, пока еще по закону не преследуется.
И тебе дали ответ: ошибка в коде, который заполняет массив. Но этот код ты не показываешь. И чего, в таком случае, ты от нас ждешь? Ярких проявлений телепатии? :)
ОК, тогда такой вопрос, если кто знает: почему в фтп-клиенте видно файлы, которые не отображаются в виндос-эксплорере и что это за особенные файлы?
Ответ: его так сделали. Альтернативные ответы -- "этого требует Тора", "программа, в имени которой есть слово ftp, не должна читать файлы с именем Thumbs.db", "файл Thumbs.db проклят вудуистскими шаманами" -- являются неверными.
Думаю, может тут проблема...
Есть мнение, что проблема более материалистического характера: все ОСТАЛЬНЫЕ файлы в этом каталоге -- картинки? Так?
Please, еще раз и медленно: у тебя проблемы с вставкой в код единственного оператора if? Это ТВОЙ код?Ответ: нет.
И тебе дали ответ: ошибка в коде, который заполняет массив. Но этот код ты не показываешь. И чего, в таком случае, ты от нас ждешь? Ярких проявлений телепатии? :)Ответ: нет, не "ярких проявлений телепатии", а элементарной внимательности (все файлы были приаттачены еще к первому сообщению). ;)
Ответ: его так сделали.Ответ для юзера, довольствующегося знанием на уровне "где у персонального компьютера находится кнопочка пауер"... Не похоже на тебя...
[...] все ОСТАЛЬНЫЕ файлы в этом каталоге -- картинки? Так?Ответ: да и, думаю, я знаю, куда ты клонишь... Бум разбираться. :)
все файлы были приаттачены еще к первому сообщению). ;)
слона-то я и не приметил... а так -- все очевидно. если ты посмотришь на строки 65 и 72, то должно стать очевидно, что ты заполняешь массив, оставляя в нем дыры. а читаешь его потом подряд. включая то, что никогда в него не заносил.
Что такое Thumbs.db:
Данный файл создается автоматически, когда вы в окне виндовского эксплорера выбиратете вид папки "Как эскизы страниц". Виндовс индексирует файлы в этой папке (не только картинки) и запихивает в него превьюшки. При следующем просмотре этой папки в таком режиме снова индексировать файлы, типа, не надо.
слона-то я и не приметил... а так -- все очевидно. если ты посмотришь на строки 65 и 72, то должно стать очевидно, что ты заполняешь массив, оставляя в нем дыры. а читаешь его потом подряд. включая то, что никогда в него не заносил.Да, думаю, ты прав. Что ж, наверное, придется переписывать весь скрипт целиком; все равно он так запутан, что лучше один раз написать нормально и разбить на логические куски, чем надстраивать и запутывать еще больше. :)
Что такое Thumbs.db:[...]Только неясно, почему... Ну, в общем, этот вопрос я уже пару раз задавал... :)
Всем большое спасибо! :)
Только неясно, почему...
Потому, что его расширение -- не jpg. См. строки 65 и 72.
Потому, что его расширение -- не jpg. См. строки 65 и 72.Нет, ты меня сейчас неправильно понял. С 65 и 72 все ясно. Я имел в виду вопрос, к ПХП в общем-то не относящийся, а именно, почему я не вижу в видосовском эксплорере файл, который виден в фтп-клиенте...
почему я не вижу в видосовском эксплорере файл
Потому, что он Hidden и System.
слушай, я, наверное, чего-то не понимаю... есть опции отображения папки. одна из них -- это оторажать/скрывать скрытые файлы. я поставил флажок на "отображать"... или это что-то другое?..
Constantine
05.07.2005, 12:34
а что тут понимать - оно и есть... это сразу после установки винды надо включать ;)
Только, например, в 2000 отдельно надо включать скрытые и системные...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.