![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Ryan5 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 5.11.2007 Репутация: нет Всего: нет |
Из текстового файла в кодировке UTF-8 считывается строка в переменную $filename. В этой строке - имя текстового файла.
Его содержимое я передаю в переменную $f. $f = file_get_contents("$filename"); Но, скрипт пишет что "failed to open stream: HTTP request failed!". Хотя файл на сервере есть. То же самое происходит с и локальными файлами. В какую кодировку надо перевести строку (имя файла), чтобы файл нормально открылся? Тестирую скрипт на виндоусе. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
Ryan5, как у тебя задан путь? "http://..."? или по-нормальному - просто локальный путь "папка/файл"?
|
|||
|
||||
| Ryan5 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 5.11.2007 Репутация: нет Всего: нет |
Ну я делал сначала для внешних файлов, то есть http://
Не получилось и я попробовал для локальных, и на них не получается. $url="D:/1.txt"; $f=fopen($url,"rb"); и не работает так же не работает если вставить путь к внешнему файлу. Перепробовал уже кучу кодировок. |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
Ryan5, странно ты мануал читаешь. впрочем, может, и не читаешь.
в мане совсем недалеко от начала страницы есть пример по fopen на windows-платформе:
Сравни со своим кодом: Разницу видно? |
||||
|
|||||
| Ryan5 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 5.11.2007 Репутация: нет Всего: нет |
Об экранировании символов я знаю.
И поэтому в пути разделитель каталогов я написал не \ а / "D:/1.txt" Я имею ввиду что запись $f=fopen("D:/1.txt","rb"); работает запись $url="D:/1.txt"; $f=fopen($url,"rb"); работает. А когда я считываю значение $url из файла, например $url=fgets($fh); //считывается строка D:/1.txt $f=fopen($url,"rb"); То файл перестаёт открываться, хотя путь тот же. Выходит проблемы с кодировкой. Я её везде сделал cp1251 и всё равно никак. |
|||
|
||||
| Golda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 26.3.2007 Где: Ариель, Израиль Репутация: 20 Всего: 42 |
Сомневаюсь, что речь идет о кодировке. По крайней мере до тех пор, пока Вы используете в именах файлов только симовлы первой половины таблицы ASCII (не используете символы национального алфавита). Думаю, у Вас переводы строки в имя файла зачитались функцией fgets(). Попробуйте отфильтровать их функцией trim(). Скорее всего проблема исчезнет
-------------------- "For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics |
|||
|
||||
| GeneralElectric |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
Ryan5, "То же самое" с локальными файлами происходить не может. Они на то и локальные, что никаких HTTP request-ов при их открытии происходить не может.
Значит, либо ты неправильно понимаешь, что такое локальные файлы, либо сообщение об ошибке будет другое. Где оно в таком случае? Мы должны угадывать? Дальше. Ты долго своими словами описываешь эти файлы. Неужели трудно привести пример имени файла, который не открывается? Или ты считаешь, что если на форуме будут угадывать - что там у тебя может быть в имени файла, то так лучше получится ответить? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |