Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发出包含post数据和文件上载的http多部分请求_Php_File Upload_Http Post_Multipartform Data - Fatal编程技术网

Php 发出包含post数据和文件上载的http多部分请求

Php 发出包含post数据和文件上载的http多部分请求,php,file-upload,http-post,multipartform-data,Php,File Upload,Http Post,Multipartform Data,我试图向一个包含post数据和文件上传的php文件发送post请求,以下是我发送的内容、设置标题的代码、我拥有的php文件以及我从php文件中得到的信息:(图像文件内容是我发送的图像文件的二进制数据的占位符) 我的问题是$\u POST&$\u文件都没有显示空数组。我正在想办法解决这个问题 //我正在向服务器发送的数据: --boundary content-disposition: post; name='param1' value1 --boundary content-dispositi

我试图向一个包含post数据和文件上传的php文件发送post请求,以下是我发送的内容、设置标题的代码、我拥有的php文件以及我从php文件中得到的信息:(图像文件内容是我发送的图像文件的二进制数据的占位符)

我的问题是$\u POST&$\u文件都没有显示空数组。我正在想办法解决这个问题

//我正在向服务器发送的数据:

--boundary content-disposition: post; name='param1' value1 --boundary content-disposition: post; name='field2' value2 --boundary content-disposition: post; name='field3' value3 --boundary content-disposition: form-data; name='file'; filename='app/native/assets/sampleFile.jpg' Content-Type: image/jpg Content-Transfer-Encoding: binary [image file content] --boundary-- -----------------------------------------------------
php文件:

<?php
  echo "\npost:\n\n";
  print_r($_POST);

  echo "\nfiles:\n\n";
  print_r($_FILES);
?>
post: Array ( ) files: Array ( )


php文件的结果:

post: Array ( ) files: Array ( ) 职位: 排列 ( ) 文件夹: 排列 ( )
试试下面的方法

--boundary Content-Disposition: form-data; name="param1" value1 --boundary Content-Disposition: form-data; name="field2" value2 --boundary Content-Disposition: form-data; name="field3" value3 --boundary Content-Disposition: form-data; name="file"; filename="app/native/assets/sampleFile.jpg" Content-Type: image/jpg Content-Transfer-Encoding: binary [image file content] --boundary--
几周前我自己也对这个有意见。您是否尝试过仅发送文件或仅发布数据以查看它们是否出现?我们最终发现php.ini需要设置为接受较大的文件。您的
multipart/form数据
是mulipart。尝试
var\u dump
ing
$\u请求
variable您从什么环境发送请求?是的,我刚刚注意到我将“post”放在了应该使用“表单数据”的位置,我将它们改为“表单数据”,但是我仍然从我的php文件中得到空白结果。@user1296259是否添加了终止边界并将内容类型头从
mulipart/form data,
修复为
multipart/form data?另外,您确定要将内容长度设置为正确的值吗?
request.setRawHeader("Content-Type", "multipart/form-data; boundary=boundary");