Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как через opendir() открывать папку на другом логическом диске?
До тех пор пока я обращался к папке "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 файла и файловой системы, с английскими папками все срабатывает. Теперь ищу как файловую систему Windows 8.1 привести к UTF-8, как у файлаОтредактировано модератором: Мелкий, 04 Декабря, 2015 - 14:32:39
Viper
Отправлено: 04 Декабря, 2015 - 16:18:06
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
borus пишет:
Теперь ищу как файловую систему Windows 8.1 привести к UTF-8, как у файла
правильно! Зубы удаляем через попу.
rawurlencode для всех имен папок+файлов. В php иначе никак.
Покинул форум
Сообщений всего: 52
Дата рег-ции: Май 2012
Помог: 0 раз(а)
Здравствуйте. Спасибо
Viper пишет:
rawurlencode для всех имен папок+файлов. В php иначе никак.
Простите, не понимаю, где я должен применить эту функцию. то есть нужно так открывать директорию:
$fp=opendir(rawurlencode($folder))
?
Viper
Отправлено: 07 Декабря, 2015 - 11:50:29
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
borus пишет:
то есть нужно так открывать директорию
нет. В php у файловых функций нет поддержки имен файлов и папок не в латинице.
Т.е. папка 'Общая' должна называться '%D0%9E%D0%B1%D1%89%D0%B0%D1%8F' чтобы вы могли открыть её в php.
Вариант 2.
Использовать транслитерацию имен папок и файлов.
Вариант 3.
Не использовать php
Вариант 4.
Называть в латинице(как в нормальном мире это делают), а всё что не в латинице прогонять через rawurlencode.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.