用PHP将文件从web上载到服务器
我有一个php代码,可以将我的照片上传到服务器。该代码对本地文件运行良好,但对来自Web的文件不起作用。下面是我上传本地文件的代码用PHP将文件从web上载到服务器,php,file-upload,curl,Php,File Upload,Curl,我有一个php代码,可以将我的照片上传到服务器。该代码对本地文件运行良好,但对来自Web的文件不起作用。下面是我上传本地文件的代码 <?php $filepath="@/home/path/to/my/file.png"; $serverurl ="https://cxdetails.com/upload.php"; $ch=curl_init(); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($c
<?php
$filepath="@/home/path/to/my/file.png";
$serverurl ="https://cxdetails.com/upload.php";
$ch=curl_init();
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_VERBOSE,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_URL, $serverurl);
curl_setopt($ch,CURLOPT_POST,true);
$post=array("file"=>$filepath);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
$response=curl_exec($ch);
echo $response;
?>
但是,如果我将$filepath更改为“”,它将不起作用。我不知道这为什么不起作用。请帮我解决这个问题
提前感谢。您可以尝试更换:
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
致:
为什么这会有帮助,
CURLOPT_POSTFIELDS
可以接受一个对@Dmitry没有帮助的数组参数。我只是不明白这里的区别是什么,为什么它不从web获取文件?我遗漏了什么吗?通过添加http\u build\u query CURL set标题“Content type:multipart/form data”。此外,您还可以尝试手动添加此标头,如:curl_setopt($ch,CURLOPT_HTTPHEADER,array(“内容类型:多部分/表单数据”);你确定在上传文件到之前,curl是否支持从web“下载”。我不确定curl是否支持下载,是否有解决方法?
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($post));