Следующий код работает нормально, однако, если я изменю файлы на использование 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"]);
?>
В моем случае проблема была на самом деле с ограничением размера файла на сервере, и типы файлов были просто случайными. проверьте post_max_size и upload_max_filesize.
Других решений пока нет …