tundramani
@tundramani

Как из исходного файла на клиенте получить base64 и воссоздать этот файл на сервере?

PHP 5.3.5

Из инпута получаю текстовый файл.
Через FileReader получаю этот файл в виде base64.
Отправляю это на сервер чтобы на нем сохранить этот файл

Хочу обойтись без использования форм.

var x = JSON.stringify([text])
var запрос = new XMLHttpRequest()
запрос.open('POST', '1.php')  
запрос.send(x)


$x = 'base64'  //полученная строка
$dir ='./раздел/';
$d = base64_decode($x); 
file_put_contents($dir . '1.txt', $d);


но в итоге кодировка убивается
как сделать правильно?
  • Вопрос задан
  • 394 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alexandrraizer
PHP developer
можно пробовать определить получаемую кодировку через mb_detect_encoding а затем с помощью iconv преобразовать в utf8.
$x = 'base64'  //полученная строка
$dir ='./раздел/';
$code = mb_detect_encoding($x, "auto");
$x = iconv($code, "ISO-8859-1", $x);
//возможно просто так поможет:
//$x = iconv("UTF-8", "ISO-8859-1//IGNORE", $x);
$d = base64_decode($x); 
file_put_contents($dir . '1.txt', $d);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы