php post file с использованием file_get_contents не работает для некоторых типов файлов

Следующий код работает нормально, однако, если я изменю файлы на использование myFile.pdf или myFile.xlsx, файл будет создан с 0 байтами. Единственное, что меняется для рабочей и не рабочей версии, это тип файла. Почему я получаю 0 байтов с файлами Excel и PDF?

 $file = file_get_contents('myFile.xml');$url = 'destination.php';$post_data = array(
"file" => $file,
"fileName" => "myFile.xml");

$stream_options = array(
'http' => array(
'method'  => 'POST',
'header'  => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($post_data),
),
);

$context  = stream_context_create($stream_options);
$response = file_get_contents($url, null, $context);echo $response;

тогда мой конечный файл сохраняет файл следующим образом:

 file_put_contents($_POST["fileName"], $_POST["file"]);

?>

1

Решение

В моем случае проблема была на самом деле с ограничением размера файла на сервере, и типы файлов были просто случайными. проверьте post_max_size и upload_max_filesize.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]