Android - PHP $ _FILES参数?

时间:2015-02-23 07:52:05

标签: php android

如何使用以下PHP代码以及从我的Android应用程序发送的HTTPPost请求:

<?php
  $file_path = "userimage/";
  $file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
  if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
   echo "success";
  } else {
   echo "fail";
  }
?>

我可以简单地这样做:

nameValuePairs.add(new BasicNameValuePair("uploaded_file", encoded));
                    nameValuePairs.add(new BasicNameValuePair("tmp_name", "testImage.jpg"));
                    HttpClient httpclient = new DefaultHttpClient();
                    HttpPost httppost = new HttpPost("URL TO PHP");
                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                    HttpResponse response = httpclient.execute(httppost);

我很困惑为什么PHP代码包含name,uploaded_file和tmp_name以及它们来自Exaclty?

2 个答案:

答案 0 :(得分:1)

上传文件的数据结构取决于PHP语言的实现。请参阅PHP手册http://php.net/manual/en/features.file-upload.post-method.php

您的 $ _ FILES [&#39; uploaded_file&#39;] 是有关上传文件的一系列信息:

<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39;名称&#39;]
客户端计算机上文件的原始名称。

<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39; tmp_name的值&#39;]
上载文件存储在服务器上的文件的临时文件名。

<强> $ _ FILES [&#39; uploaded_file&#39;] [&#39;大小&#39;]
上传文件的大小(以字节为单位)。

答案 1 :(得分:1)

尝试设置enctype = multipart / form-data