Здравствуйте! Дело происходит на локальном сервере XAMPP. Есть php страница cо следующим кодом: Код (PHP): <?php ini_set("max_execution_time", "600"); function select_file($folder,$picture){ $fp=opendir($folder); while (false !== ($cv_file = readdir($fp))) { ... } closedir($fp); fclose($log); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Отбор файлов по списку названий из csv файла</title> </head> <body> <p>Введите файл:</p> <form enctype="multipart/form-data" method="POST" > <input type="file" name="userfile"> <input type="submit" value="Отобрать картинки!"> </form> <?php if(isset ($_FILES['userfile'])){ $fn = $_FILES["userfile"]["tmp_name"]; $fd = fopen($fn, "r"); while (!feof($fd)){ $fields = fgetcsv($fd); select_file("photo", $fields[0]); } } ?> </body> </html> До тех пор пока я обращался к папке "photo", которая лежала в той же папке, что и исполняемый php файл, все работало. Когда же потребовалось шерстить папку на другом логическом диске, и я подставил вместо select_file("photo", $fields[0]); select_file("D:\Общая\База обработанных фотографий", $fields[0]); страница по клику на кнопку отобрать стала бесконечно висеть и стали выкидываться сообщения вида: Warning: opendir(D:\Общая\База обработанных фотографий,D:\Общая\База обработанных фотографий): in C:\xampp_new\htdocs\selectfoto\select_files.php on line 5 Warning: opendir(D:\Общая\База обработанных фотографий): failed to open dir: No such file or directory in C:\xampp_new\htdocs\selectfoto\select_files.php on line 5 и ниже бесконечное число предупреждений вида Warning: readdir() expects parameter 1 to be resource, boolean given in C:\xampp_new\htdocs\selectfoto\select_files.php on line 6 Скажите, можно ли скрипт заставить открывать папку с другого логического диска и как это сделать? PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
я пробовал с такими путями: D:\Общая\База обработанных фотографий\\ D:\Общая\База обработанных фотографий\ D:/Общая/База обработанных фотографий D:/Общая/База обработанных фотографий/ Вы что-то другое имели в виду?
\ экранирует следующий за ним символ. основы пхп да и много чего ещё. да, винда это одно большое исключение из мира осей поэтому бэкслэш там как разделитель путей. чтоб написать в строке обратный слэш надо его же и экранировать - \\ похоже на правду но почему только в конце? еще кстати возникла идея непредсказуемости кодировки - файл (и как следствие строки в нем) в одной, файловая система в другой.
Спасибо! Видимо это и было проблемой. Когда я подставил строку вида D:\baza_foto все заработало Вопрос теперь, как привести кодировки в соответствие друг другу? наверно лучше в винде поменять. Файл в utf-8. Windows 8.1