filetypes problem [under windows]

6 отговора 169 прегледа
#1

filetypes problem [under windows]

имам функция write_dir, която трябва да обходи всички файлове в директорията $users и да принтира тези, които да директория. когато я тествам под сървър apache на windows (инсталиран PHPTriad) ми изкарва ВСИЧКИ файлове от директорията, независимо дали са директория или не.
пробвах да "филтрирам" с различни иф-условия и се оказа, че в момента функцията is_dir() ми връща true само за директориите "." и "..", !is_file() ми връща и файлове, не само директории, а filetype() == dir показва, че всички файлове в директорията са директории (вкл. и тези, които не са!!!).

чудя се дали няма някакви грешни настройки на сървъра или пък е несъвместим с уиндоус и не може да разпознава типове файлове...

please, help!!! :(

ето горе-долу какво представлява функцията:

function write_dir() {
global $users;

$dir = opendir($users);
while ($file=readdir($dir) and filetype($file) == "dir") {
echo("<li>$file and filetype is ".filetype($file));
}
closedir($dir);
}

Отговор
в отговор на id #2

Re: filetypes problem [under windows]

ако не греша nuPaT имал подобен проблем преди година и нещо, а той е в самата функция и резултат, май го заобиколихме по някакъв начин, но вече не си спомням какъв точно.

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на id #3

Re: Най-тъпото ...

.. решение дет ми идва в тъпата глава е да сложиш проверка за . и .., и ако нещо ти се прави на дир опитваш да го отвориш като дир и в случай на грешка това може да е симлинк или файл.

май това беше решението в пиратския случай :)

Абе, май това не е само за уиндовз, а?

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на Дpeмeщ #4

Re: Най-тъпото ...

и аз за това си мислих
if(@opendir(dir)) или @readdir... нещо такова

Отговор
в отговор на voyager #5

Re: Най-тъпото ...

ми туй имах увиду

-----------------------
гърбавия, ковчег ще го изправи
Отговор
в отговор на voyager #6

Re: Най-тъпото ...

мерси много, така стана перфектно...

всъщност, каква е ролята на тоя @ пред функцията???
а, да и докато не съм забравил да ви попитам - има ли някаква библиотека с функции за хтмл-ско интерпретиране тия мета тагове които мога да ти използвам тук примерно за болднат текст и т.н.

Редактирано от id на

Отговор
в отговор на id #7

Re: filetypes problem [under windows]

Наистина преди време имах такъв проблем. Реши се по следния начин.
Използвах file_size. ако е равен на -1 значи е директория ако не е файл.
струва ми се малко по лесно.

Break The UnBreakable
Отговор