[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: русский путь
45king
добрый день не могу открыть русский путь product/images/Пальмира диван-кровать 2 кат. размер 19801050900 спальное место 19801300/габариты пальмира...!.png как быть?пишет ошибку

Warning: getimagesize(product/images/Пальмира диван-кровать 2 кат. размер 19801050900 спальное место 19801300/габариты пальмира...!.png) [function.getimagesize]: failed to open stream: No such file or directory


будьте добры подскажите как открыть данный путь
BaNru
Первая ссылка в гугле

Ну и для PHP urlencode
А ещё возможно проблема в том, что ты обзывал файлы в вындовсе, а сервер линукс. Надо переименовать файлы в UTF-8, т.е. на стороне сервера воспользовавшись FileZilla

И главное. А файл-то существует?
45king
файл существует как картинка выводиться спокойно,но не открываеться
45king
urlencode пробывал не помогает добавляет,но есть вставлять ссылку такого типа то работает
http://global/product/images/%D0%9B%D1%83%D0%B8%D0%B7%D0%B0-2%20%2002.02%20%D0%A8%D0%BA%D0%B0%D1%84-%D1%81%D1%83%D1%88%D0%BA%D0%B0%20803184./%D0%9B%D1%83%D0%B8%D0%B7%D0%B0%202%20%D0%B2%D0%B0%D1%80.1.jpg
BaNru
Попробуй вывести файлы на экран, какие имена выводит

$dir = 'global/product/images/'; // путь до папки из этого скрипта
foreach (glob($dir."*.jpg") as $filename) {
echo basename(realpath($filename)).'<br>';
}
45king
у меня в папке images есть папки с русскими названиями пример Бейсик кресло № 19 черный в ней хранять картинки тоже с русским название тут сам косак с русскими символами только вот как сейчас преобразовать их
zelenuy
Русский путь да еще и с пробелами rolleyes.gif жестко
ZSH
как я понял вы пытаетесь файл открыть через функцию getimagesize?
не знаю точно поможет ли, но попробуйте поиграться с локалями set locale,
но не уверен что поможет
BaNru
Выведет на экран все папки и файлы/папки внутри
$dir = 'global/product/images/';
$dir_o = opendir($dir);

while($file = readdir($dir_o)) {
if (is_dir($dir.'/'.$file) && $file != '.' && $file != '..') {

echo $dir.'/'.$file.'<br>';

foreach (glob($dir.'/'.$file."/*") as $filename) {
echo ' - '.basename(realpath($filename)).'<br>';
}
}
}
sergeiss
Лучше всего при записи файлов давать им "нормальные" имена, заведомо совместимые с браузерами и серверами (переводить всё на английский и заменять все "кривые" символы), одновременно анализируя уникальность имён. Это даст несколько плюсов:
1. Файлы не будут перезаписаны, при случайном совпадении имен.
2. Не будет описанной в теме проблемы.
3. Улучшается читаемость имен файлов.
4. Заодно можно хранить в БД соответствия оригинальных имен и реальных (мало ли, зачем может пригодиться в определенном приложении).

Ну, например... Твой файл
"Пальмира диван-кровать 2 кат. размер 19801050900 спальное место 19801300/габариты пальмира...!.png" лучше будет переименовать в
"Palmira-divan-krovat-2-cat-razmer-19801050900-spalnoe-mesto-19801300-gabarity-palmira.png".

PS. И это будет проще, чем мучаться с русскими именами картинок.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.