如何在php中通过curl函数发布文件?

如何在php中通过curl函数发布文件?,php,curl,file-upload,Php,Curl,File Upload,我想写一个脚本,自动发布表单。 它不是垃圾邮件发送者! 表单中有一个图片字段。 我想用php和curl()函数编写脚本。 如何实现文件上传? php是否适用于此目的?我是说表单发布?要上传服务器上的文件,是的,curl可以做到这一点 您需要使用CURLOPT\u POSTFIELDS选项,将其传递给函数(引用): 要在HTTP“post”中发布的完整数据 手术要发布文件, 在文件名前面加上@,然后使用 完整路径。 未经测试,但我认为类似的东西应该可以工作: $ch = curl_init();

我想写一个脚本,自动发布表单。 它不是垃圾邮件发送者! 表单中有一个图片字段。 我想用php和curl()函数编写脚本。 如何实现文件上传?
php是否适用于此目的?我是说表单发布?

要上传服务器上的文件,是的,curl可以做到这一点

您需要使用
CURLOPT\u POSTFIELDS
选项,将其传递给函数(引用):

要在HTTP“post”中发布的完整数据 手术
要发布文件, 在文件名前面加上
@
,然后使用 完整路径。


未经测试,但我认为类似的东西应该可以工作:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.yoursite.com/destination-of-upload.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setpopt($ch, CURLOPT_POSTFIELDS, array(
        'file' => '@/..../some-file.txt',    // you'll need to adapt this
        // some other fields ?
));
$result = curl_exec($ch);
curl_close($ch);