直到今天,我一直在使用以下脚本,没有任何问题。我更改了Linux发行版,但我不知道它是否相关
$full = realpath($newPath."/".$image);
$data = array('name' => $name, 'pic' => '@'.$full.";type=image/jpeg");
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$contents = curl_exec($ch);
我正在通过php的表单发布信息,但是由于未将其检测为图像,因此无法提交该图像,因此将其检测为“应用程序/八位字节流”
如何将内容类型指定为图像并提交文本?
PD我检查了我之前问过的类似问题,我只是找到一个确切的目的,没有任何答复。我不尝试下载任何图像,我试图用几个文本字段填写表格,我应该通过同一表格上传图像
好的,所以我找到了问题。您将需要使用CurlFile()类,而不是'@'。$ file_name示例。
文件:http://php.net/manual/en/class.curlfile.php
代替
$postfields['file_contents'] = '@' . $filename;
您将要执行此操作
$postfields['file_contents'] = new CurlFile($filename);
您可以在构造函数的另一端查看用于指定mime类型和名称的文档,但这是它的基本要旨。
祝你好运!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句