关于CURL上传问题

php<?php
    $ch = curl_init();
    $data = array('name' => 'Foo', 'file' => new \CURLFile(realpath('1.jpg'))); //绝对路径
    curl_setopt($ch, CURLOPT_URL, 'http://localhost/post.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_exec($ch);
?>

假设我要上传的文件来自网络
网络文件图片URL如下:http://7sbpxj.com1.z0.glb.clouddn.com/firstpage
我file = “网络文件”
那么该怎么写

阅读 5.9k
4 个回答

直接在post.php下载远程文件

$file=file_get_contents($_POST['file']);
file_put_contents($file, $temp);

如果post.php支持网络文件,应该把地址给它就行,或者就先下载到本地文件吧。

CURLFile 印象中是不能写网络图片URL的吧
所以你还是自己下载下来再POST

phpcouldn't open file "http://7sbpxj.com1.z0.glb.clouddn.com/firstpage"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题