Форумы портала PHP.SU » » Работа с файловой системой и файлами » Как указать имя файла на кириллице и место сохранения в PHP?

Страниц (1): [1]
 

1. mapatka - 07 Марта, 2016 - 09:43:35 - перейти к сообщению
Доброго времени!

Качаю с помощью PHP c сайта файлы. Подскажите, пожалуйста:
1. Сейчас складываю так
PHP:
скопировать код в буфер обмена
  1. $ble=realpath(__DIR__)."\\"."temp"."\\".$title;
  2. file_put_contents($ble, $file);

Естественно, сохраняет в папку со скриптом. Как указать адрес C:\temp\1 например?

2. $title получаю в виде названия с расширением. Если $title на кириллице, то сохраняется имя кракозябрами типа
CODE (htmlphp):
скопировать код в буфер обмена
  1. Для вина

Проблема с кодировкой получается, как ее поправить?

Скрипт будет работать только на винде.
2. caballero - 07 Марта, 2016 - 11:51:38 - перейти к сообщению
ну так и ставь ему имя в виндовой кодировке
3. Viper - 07 Марта, 2016 - 13:06:29 - перейти к сообщению
caballero пишет:
ну так и ставь ему имя в виндовой кодировке
уверен? Улыбка
4. mapatka - 07 Марта, 2016 - 14:00:04 - перейти к сообщению
caballero пишет:
ну так и ставь ему имя в виндовой кодировке
В сторону какой команды смотреть?
5. esterio - 08 Марта, 2016 - 13:09:37 - перейти к сообщению
iconv
6. DelphinPRO - 08 Марта, 2016 - 13:14:19 - перейти к сообщению
Viper пишет:
уверен?

что за вопрос? конечно, нужно конвертить имя файла в cp1251. Но нужно проверять под какой операционкой мы сейчас работаем, и конвертить только для windows. проверять можно константу PHP_OS
7. Viper - 08 Марта, 2016 - 13:55:04 - перейти к сообщению
DelphinPRO https://en[dot]wikipedia[dot]org/wiki/Filename
8. DelphinPRO - 08 Марта, 2016 - 14:57:29 - перейти к сообщению
Viper много букв. Ты бы конкретную цитатку по теме выдернул.
(Добавление)
а, ну понятно. ntfs -> unicode 16
тогда почему оно нифига не работает?
9. Viper - 08 Марта, 2016 - 17:11:18 - перейти к сообщению
DelphinPRO потому-что php-шные файловые функции не поддерживают non-latin символы под виндовой платформой.

 

Powered by ExBB FM 1.0 RC1