我正在编写API,我想要处理表单上的文件上传POST.表单的标记不是太复杂:
<form action="" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image" id="image" />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
但是,我很难理解如何处理此服务器端并发送cURL请求.
我熟悉用POSTcURL 发送带有数据数组的请求,我读过的关于上传文件的资源告诉我在文件名前加上一个@符号.但是这些相同的资源具有硬编码的文件名,例如
$post = array(
'image' => '@/path/to/myfile.jpg',
...
);
Run Code Online (Sandbox Code Playgroud)
这是哪个文件路径?我在哪里可以找到它?它会是什么样的$_FILES['image']['tmp_name'],在这种情况下我的$post数组应该是这样的:
$post = array(
'image' => '@' . $_FILES['image']['tmp_name'],
...
);
Run Code Online (Sandbox Code Playgroud)
或者我是以错误的方式来做这件事的?任何建议都将非常感激.
编辑:如果有人可以给我一个代码片段,我将使用以下代码片段,那么我将非常感激.我主要是作为cURL参数发送的内容,以及如何将这些参数与接收脚本一起使用的示例(让我们curl_receiver.php为了参数而调用它).
我有这个网页表格:
<form action="script.php" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="image />
<input type="submit" name="upload" value="Upload" />
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
这将是script.php:
if (isset($_POST['upload'])) {
// cURL …Run Code Online (Sandbox Code Playgroud)