我需要打一个 php 脚本,它从中获取一些数据- _POST、_REQUEST 和 _FILES
我回应了这些中出现的键值对 - _POST 和 _REQUEST 有一些键和字符串值对,而 _FILE 有一个带有值数组的键作为它的值 - 即:key-'p_up_file' value-> Array -> [name] 'test', [type] plain/txt , ....
我需要用 Java POST http 请求访问这个 php 文件。不太熟悉 php 代码,所以不确定如何设置 java post 实体,以便 php 脚本在这种情况下正确处理它。
即使使用 POSTMAN,我也不太确定 php 如何期望发送这些值,以便这些 _POST、_REQUEST 和 _FILES 填充所需的键值。有没有办法像那样区分它们,从而模仿表单上传?
像这样在 _POST key -> value 对中给出预期的变量 -
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://localhost:8080/WebService/test.php");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("f_name", "Foo"));
nameValuePairs.add(new BasicNameValuePair("l_name", "Bar"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = null;
try {
response = client.execute(post);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
PHP 代码采用类似以下示例的值 -
$_POST[P_TOKEN_KEY] , $_REQUEST['p_rootdir'] , $_REQUEST['p_username'],
$p_upload_file_name = $_FILES[p_up_file][name];
$p_upload_file = $_FILES[p_up_file][tmp_name];
不确定如何与此一起发送数组值