通过cURL从PHP中的表单POST发送文件
2022-08-30 10:21:00
我正在编写一个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>
但是,我很难理解如何处理此服务器端并随cURL请求一起发送。
我熟悉使用带有数据数组的cURL发送请求,并且我在上传文件时阅读的资源告诉我在文件名前面加上符号。但这些相同的资源具有硬编码的文件名,例如POST
@
$post = array(
'image' => '@/path/to/myfile.jpg',
...
);
那么这是哪个文件路径?在哪里可以找到它?它是否类似于 ,在这种情况下,我的数组应如下所示:$_FILES['image']['tmp_name']
$post
$post = array(
'image' => '@' . $_FILES['image']['tmp_name'],
...
);
还是我以错误的方式行事?任何建议将不胜感激。
编辑:如果有人能给我一个代码片段,说明我将如何使用下面的代码片段,那么我将不胜感激。我主要追求的是我将作为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>
这将是:script.php
if (isset($_POST['upload'])) {
// cURL call would go here
// my tmp. file would be $_FILES['image']['tmp_name'], and
// the filename would be $_FILES['image']['name']
}