我正在尝试将图片上传到Facebook,因此我可以在一些赞助帖子中使用它们。
图片在我的电脑里,所以我需要先将它们上传到Facebook。我读过我需要使用multipart / form-data上传它们,但我不知道与它有什么关系。如果我创建这个multipart / form-data,我不需要创建表单并与之交互(单击上传按钮,选择图片并提交)。
有没有办法自动完成?如何创建这个multipart / form-data并在我的PHP中使用它而无需单击提交按钮?只需获取结果并使用它来创建我的帖子,并且一次上传超过1张图片。
答案 0 :(得分:0)
试试这个
<?
$filename='image.png';
$link='http://domain.com/somepage';
$post=array('file'=>'@'.$filename);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$link);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17",
"Accept-Language: ru-RU,ru;q=0.9,en;q=0.8",
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"));
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
$pagetext=curl_exec($ch);
curl_close($ch);
?>
image.png
是图像的示例名称,位于根目录中。
此脚本通过image.png
请求将文件http://domain.com/somepage
发送到页面POST
。
可以将另一个POST变量添加到$post
数组中。 @
需要发送文件。