Название файла для file_put_content()

154
28 октября 2019, 20:00

Мне нужно сделать следующее:

file_put_contents('data/кошка.txt', 'string');

на что выходит ошибка:

Warning: file_put_contents(data/кошка.txt): failed to open stream: Illegal byte sequence

Название файла обязательно должно быть русским. Подскажите, пожалуйста, как можно это сделать?

P.S.: если написать

file_put_contents('data/cat.txt', 'string');

то все ок.

Answer 1

Решила проблему - работаю в PHPStorm, кодировка проекта стояла windows-1251, поменяла на utf-8 и всё заработало.

Answer 2

Вы пытаетесь записать файл в несуществующую папку. Сделайте сперва проверку на существование директории, и в случае отсутствия создайте её, а после - записывайте в неё файл кошка.txt:

$dir = 'data';
is_dir($dir) ?: mkdir($dir);
file_put_contents("$dir/кошка.txt", 'string');
READ ALSO
Не применяется стиль

Не применяется стиль

Не применяются два стиля для телефонаНа ПК все работает

138
Не работает PHP (PDO/ INSERT/ SELECT)

Не работает PHP (PDO/ INSERT/ SELECT)

Я начал изучать и PHP, и ASPNET, пока что у меня в голове каша

125
Как работает std::weak_ptr?

Как работает std::weak_ptr?

Если изначально std::weak_ptr указывал на нулевой указатель std::shared_ptr:

166