php curl 上传图片

利用curl上传图片。一直报超时错误。

Operation timed out after 30000 milliseconds with 0 bytes received

我的curl函数如下:

function myCurl($data, $file = null)
{
    if (!empty($file)) {
       $file_obj = curl_file_create(realpath($file), 'image/png', '550759_yuan521.png');
       $data['imgs'] = $file_obj;
       $data = http_build_query($data);
    }
    $opt = [
        CURLOPT_URL => 'http://localhost/test/2.php', // 测试地址
        CURLOPT_POST => true,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER => 0,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_SSL_VERIFYPEER => 0
    ];
    $ch = curl_init();
    curl_setopt_array($ch, $opt);
    $output = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);
    if ($error) {
        return $error;
    } else {
        return $output;
    }
}

2.php 只写了一行代码

print_r($_FILES);

php版本是:php-7.0.12-nts

测试图片大小只有:100k


请大神不吝赐教,拜谢!

阅读 2.4k
1 个回答

curl设置一下选项,让限制时间加大一点,看看能不能成功

curl_setopt($ch, CURLOPT_TIMEOUT,100); // 100s 

PS:不要上传太大的文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题