如何从php中的FORM动作获得响应

时间:2012-11-18 11:13:29

标签: php html forms box-api

我正在尝试在php中创建一个html文件,其中用户必须使用API​​上传数据以便在Box.net上传。 表单标记的action属性有一个url,它发回一条确认消息。

我的问题是,当我上传文件并单击“提交”时,我会收到一个xml响应页面。 但我不希望用户看到这样的数据, 但我希望这些数据用于计算并向用户显示相应的消息。

我如何获得xml响应?

以下是我的代码:

<?php
$upload_url = 'https://upload.box.net/api/1.0/upload/i9g1fmnn9odhg739sdgdfgdg/480416060';
?>

<form action="<?php echo $upload_url;?>"
 enctype="multipart/form-data" accept-charset="utf-8" method="POST">
<input type="file" name="new_file1" />
<input type="text" name="share" value="1" />
<input type="submit" name="upload_files" value="Upload File" />
</form>

3 个答案:

答案 0 :(得分:1)

  1. 上传文件。
  2. 读取文件的数据。
  3. 使用cURL将文件的数据发送到相关网址。

答案 1 :(得分:1)

你可以那样做

echo $_POST['new_file1']
echo $_POST['share']
echo $_POST['upload_files']

答案 2 :(得分:0)

要将您的请求发送到Box,您需要更改表单,以便将其发布到您自己的PHP文件中。然后从您的服务器发送请求到框,在您指示表单提交给您的文件中,您将执行以下操作:

<?php
$ch = curl_init();

$upload_url = 'https://upload.box.net/api/1.0/upload/i9g1fmnn9odhg739sdgdfgdg/480416060';

curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
    "file_box" => "@" . $_FILES['upload']['tmp_name'],
    "share"    => $_POST['share']
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 

$response = curl_exec($ch);
?>

$ response对象将包含Box的响应。