2015-04-03 2 views
1

У меня есть файл c:/localweb/img/안녕.pngfile_get_contents не могу найти файл

, когда я использую,

$data = file_get_contents('c:/localweb/img/안녕.png'); 

У меня не нашли исключение. Наверное, это потому, что есть корейские символы. Имена файлов должны содержать символы корейского языка.

Есть ли способ получить данные файла? преобразование строки или что-то еще?

+0

Почему имя файл * есть * иметь корейские символы? – adeneo

+0

@adeneo это вопрос SEO. – user544262772

+0

Существует также ответ, относящийся к вашей системной кодовой странице: http://stackoverflow.com/a/18481737/4726998 –

ответ

1

На странице PHP вручную они отметили:

Если вы открываете URI с помощью специальных символов, таких как пробелы, нужно кодировать URI с UrlEncode().

Может быть, это поможет вам, так что это будет:

$data = file_get_contents(urlencode('c:/localweb/img/안녕.png')); 

Надеется, что это поможет вам

+0

. Какую инструкцию можно сделать с проблемой OP? Я не вижу никаких пробелов на пути OP! – Rizier123

+0

Из-за: URI со специальными символами – D3F

+0

Я видел много ответов, но я думаю, что urlencode() - правильный выбор для прямого измерения. Однако, я думаю, что ваш пример не имеет логики, urlencode будет кодировать все символы вашей строки. urlencode (<путь к файлу>) вряд ли будет работать, поскольку возвращаемая строка просто предназначена для использования в среде печати URL. Я буду использовать эту функцию для генерации имени файла, который можно использовать в среде php и html. +1, потому что ваш ответ направил меня на путь, но я еще не принимаю его, поскольку он семантически беден. – user544262772

Смежные вопросы