Люди очень прошу помочь, 1,5 дня уже провозился и так и не смог понять в чем проблема! я вывожу массив (foreach ($showdir as $k => $shownfile)) файлов и папок - содержимого нужной директории, но мне нужно писать файлы отдельно, каталоги отдельно, чтоб их потом можно было отдельно обработать, так вот при применении (is_dir()) мне пишет, что каталог - это файл, кроме этого он пишет что каталоги это только директории выше и ниже, то есть такие ("..", "." ) Проблема с функцией is_dir() ОС - Линукс Дебиан PHP 5.2 помогите с кодом пожалуйста!)
ок, вот только думаю что у меня какая то проблема с самим пхп, потому что функции filesize и stat работаю тоже некорректно - только на директории( $adir='/var/www/all/music'; $showdir=scandir($adir); echo "<form method=post action=choose.php><table>"; $htmlcodecatst='<tr><td bgcolor="#CCCCCC">Это каталог</td><td bgcolor="#CCCCCC">'; $htmlcodecatfsh='</td><td></td><td><input name=chk'.$k.' type="checkbox"></td></tr>'; $htmlcodefilest='<tr><td></td><td>'; $htmlcodefilefsh=' type="checkbox" CHECKED></td></tr>'; foreach ($showdir as $k => $shownfile) { clearstatcache(); if (!is_file($shownfile)) // здесь я пробовал и if (is_dir($shownfile)) echo $htmlcodecatst.$shownfile.$htmlcodecatfsh; else { if ($shownfile[$k]=".."||$shownfile[$k]=".") {continue;} echo $htmlcodefilest.$shownfile.'</td><td>'.filesize($shownfile).'</td><td><input name=chk'.$k.$htmlcodefilefsh; } } echo "</table>"; echo "<input type=submit></form>"; то что выводит можете посмотреть на silveriv.selfip.com
1. в is_file() и filesize нужно указывать абсолютный путь до файла 2. проверка на .. и . идет не в том месте - это директории 3. сама проверка - ошибка в синтаксисе = вместо ==
To alBoo, 1. то есть, если я заявлю название переменной переменной (filesize($shownfile)||is_file($shownfile)), ни то ни другое не будет работать? 2. Не могли бы вы дать пример кода, где она должна идти ? в самом начале. Просто мне нужно чтобы не высвечивало точки (директории выше и ниже), а только имена нужных каталогов и объявляло что это ДЕЙСТВИТЕЛЬНО КАТАЛОГИ, что скрипт не делает, а показывает, что все, кроме точек - это файлы( 3. Это когда проверка на условие равны ли они точкам? Ну да - не прав) опять же , пример того, что выводит можно увидеть здесь (настоящую ссылку не знаю: можно ли здесь оставлять, так что оставляю ее без полного определения) silveriv.selfip.com - сервер работает почти всегда)
Все работает, спасибо большое)) за подсказки)) А теперь вопрос не по теме - можно сделать так, чтобы все выбранные файлы можно было загрузить в один потом (скопом), то есть как вы поняли, те файлы, которые были выбраны - нужно теперь загрузить, мне предложили их загонять в архив, а потом отправлять, можно же сделать как то без этого? если понадобится смогу mySQL использовать. очень прошу - ответьте)