![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
Люди, такой к вам вопрос:
У меня скрипт сканит по локальной сети компы.Он рекурсивно азаходит в каждую папку и просматривает содержимое. и все бы хорошо, но обнаружилась проблема: некоторые файлы( мной в частности обнаружен файл .ppt) почему то считает папками и пытаеться в них зайти. происходит слеюующее: он находит какой то вложенный в эту папку файл 1.jpg - считает его тоже папкой и снова в него заходит, потом снова и снова. Пока не зависает скрипт. функции is_dir и filetype не помогают - он определяет файл как папку ![]() С чем это может быть связано и как это можно обойти? |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Функции is_dir, is_file — кэшируются. В начале всех этих операций поставь clearstatcache()
|
|||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
не помогло (((
нашел еще один глючный файл - он сохранен в content.ie5. Это doc. название в формате : "/%D0%BF%D0%BB%D0%B0%D0 . . ." не открываеться не изменяеться имя, не удаляется. Такие файлы, как видимо есть почти на всех сканруемых машинах . . . |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Тогда проверяй так:
|
|||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
Тоже не помогло
fileperms для этих файлов возвращает те же значения что и для папок(остальные права совпадают). может как то искусственно можно проверить, например по какому нибудь параметру, который есть у файлов и нет у папок или наоборот. |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Может в архиве выложишь тестируемые файлы, чтобы можно было бы независимый эксперимент провести?
|
|||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
Это какие то глючные файлы. Я скопировал папку, содкржащую файл, на свою машину - они нормально стали открываться, и видятся как файлы. а на чужой машине, я конкретно этот файл не могу ни скопировать, не удалить - ни че с ним не могу сделать, даже свойства посмотреть.
|
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Так это файлы типа ntuser.dat, к которым запрещён доступ даже на чтение?
|
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
Наверное еще и винда 98-я....
|
|||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
Винда 2000 sp4.
подобные файлы встречаются на очень многих машинах - разные расширения. Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
Попробуй к имени файла перед проверкой применять функцию urldecode('<имя файла>');
|
|||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
Ет как?
Он название если декодирует, то найти тогда такой файл не может |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
||||
|
||||
Ddima |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.1.2006 Репутация: нет Всего: нет |
все равно пасиба.
|
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: нет Всего: 67 |
А что, если запустить через PHP команду DOS dir /a и парсить вывод этой команды. А имена проверять на символ процента (с процентами ведь глюки идут? это вобще-то запрещённые символы, из-за этого может и быть трабла), если встретили в имени процент, запускаем dir /a и смотрим, что нам эта команда говорит на этом файле.
Покажи вывод dir /a в том каталоге. Это сообщение отредактировал(а) Ciber SLasH - 20.4.2006, 14:35 |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Сеть | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |