使用file_get_contents的php post文件对某些文件类型不起作用

时间:2016-10-06 17:12:41

标签: php post file-get-contents postdata

以下代码工作正常,但是如果我将文件更改为使用myFile.pdf或myFile.xlsx,则会使用0字节创建文件。只有工作版本和非工作版本更改的是文件类型。为什么我使用excel文件和pdf获得0字节?

 $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 个答案:

答案 0 :(得分:0)

在我的实例中,问题实际上是服务器上的文件大小限制,文件类型只是巧合。检查post_max_size和upload_max_filesize。