Как узнать кол-во папок в директории? Я вот что пытаюсь сделать: $dir_tek=$dir_main."/".$i; opendir($dir_tek); $kol_files=0; while ($f=readdir($dir_tek)) { if (($f!=".") && ($f!="..")) $kol_files++; } closedir($dir_tek); if ($kol_files<10) { $folder=$dir_tek; $a=$kol_files; break; } И ещё, как правильно указывать пути к папкам? Если так $dir_msg=$_SERVER["DOCUMENT_ROOT"]."/data/msg"; то Warning: readdir(): supplied argument is not a valid Directory Помогите пожалуйста.
is_dir -- Определает, является ли файл директорией Описание bool is_dir ( string filename ) Возвращает TRUE, если файл существует и является директорией. Если filename - это относительное имя файла, оно будет проверено относительно текущей рабочей директории.
А через какие слеши указывать путьк папке $a=$_SERVER["DOCUMENT_ROOT"]."/data/msg" или $b=$_SERVER["DOCUMENT_ROOT"]."\data\msg" или еще как. Я уже все перепробовал, все равно не находит- Warning: readdir(): supplied argument is not a valid Directory. Дома apache установлен под windows, а на серваке под Linux. Как путь прописать корректно?
Desantnik, у тебя страшная ошибка в коде: Код (Text): //Неправильно $dir_tek=$dir_main."/".$i; opendir($dir_tek); $kol_files=0; while ($f=readdir($dir_tek)) [...] closedir($dir_tek); //Правильно $dir_tek=$dir_main."/".$i; $dir_handler=opendir($dir_tek); //как и при открытии файла ты должен запомнить указатель $kol_files=0; while ($f=readdir($dir_handler)) //и использовать его при чтении [...] closedir($dir_handler); А слеши использовать только "/". Узнаем кол-во папок и файлов: Код (Text): $dir_tek=$dir_main."/".$i; $dir_handler=opendir($dir_tek); $kol_files=0; $kol_dirs=0; while ($f=readdir($dir_handler)) if ($f!='..' && $f!='.') if (is_dir($dir_tek.'/'.$f)) //если папка $kol_dirs++; //считаем папки else //иначе это файл (кто не верит, проверит :) ) $kol_files++; //считаем файлы closedir($dir_handler);
Я совсем загнался или пхп тупит. Пишет что не может открыть поток и записать в файл. Ф-ция такого рода. function save() { $folder=""; # =1 - номер папки $file=""; # =0 - в ней файлов # берем их из файла без ошибок $fp=fopen($_SERVER["DOCUMENT_ROOT"]."/data/tek.txt","r"); $folder=fgets($fp,100); $file=fgets($fp,100); fclose($fp); $file=$file+1; #создаем файл"1.txt" $fp=fopen($_SERVER["DOCUMENT_ROOT"]."/data/msg/".$folder."/".$file.".txt","w"); fputs($fp,"bla bla bla"); fclose($fp); } В итоге Warning: fopen(C:/site/www/data/msg/1 /1.txt) [function.fopen]: failed to open stream: Invalid argument in C:\site\www\guest.php on line 91 Warning: fputs(): supplied argument is not a valid stream resource in C:\site\www\guest.php on line 92