Как сохранить utf-8(с) в file_put_contents?

Этот код работает. Сохраняет фотографию с помощью webcam.js. проблема в том, что я сохраняю файл с именем файла Peña, он не работает. Я получил результат имени файла Peña.jpg или Pe? A.jpg. но в базе данных я правильно понял (peña).

Проблема в файле file_put_contents и функции переименования.

 $photoname = $_POST['photoname'];
    $date1 = date('Ymd');
    $photo_file = 'photos/'.$date.'/'.$date."".$photoname.".jpg";
    $encoded_data = $_POST['mydata'];
    $binary_data = base64_decode( $encoded_data );

    if (!is_dir('photos/' . $month)) {
      // dir doesn't exist, make it
      mkdir('photos/' . $month);
    }

    /*get the image */
    $result = file_put_contents($photo_file, $binary_data);

функция переименования (также работает без специальных символов).

$fname = utf8_decode($_POST['fname']);
$mname = utf8_decode($_POST['mname']);
$lname = utf8_decode($_POST['lname']);

$photo_old = $_POST['photopath'];
$photoname = utf8_decode(strtolower($fname. ''. $mname.''.$lname));
$date1 = date('Ymd');
$month = date('Ymd');
$photo_final = 'photos/'.$month.'/'.$date1."".$photoname.".jpg";
rename($photo_old, $photo_final);

результат:

Warning: rename(photos/20150929/20150929Peña.jpg,photos/20150930/20150930Pe?a.jpg)

0 ответов

Другие вопросы по тегам