• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP7基于curl实现的上传图片功能

    本文实例讲述了PHP7基于curl实现的上传图片功能。分享给大家供大家参考,具体如下:

    根据php版本不同,curl模拟表单上传的方法不同

    php5.5之前

    $curl = curl_init();
    if (defined('CURLOPT_SAFE_UPLOAD')) {
      curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
    }
    $data = array('file' => '@' . realpath($path));//‘@' 符号告诉服务器为上传资源
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1 );
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
    $result = curl_exec($curl);
    $error = curl_error($curl);
    
    

    php5.5之后,到php7

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
    $data = array('file' => new \CURLFile(realpath($path)));
    url_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1 );
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
    $result = curl_exec($curl);
    $error = curl_error($curl);
    
    

    下面提供一个兼容的方法:

    $curl = curl_init();
    if (class_exists('\CURLFile')) {
     curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
    $data = array('file' => new \CURLFile(realpath($path)));//>=5.5
    } else {
     if (defined('CURLOPT_SAFE_UPLOAD')) {
      curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
     }
     $data = array('file' => '@' . realpath($path));//=5.5
    }
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_POST, 1 );
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
    $result = curl_exec($curl);
    $error = curl_error($curl);
    
    

    其中:

    $path:为待上传的图片地址

    $url:目标服务器地址

    例如

    $url="http://localhost/upload.php";
    $path = "/bg_right.jpg"
    
    

    upload.php示例:

    ?php
      file_put_contents(time().".json", json_encode($_FILES));
      $tmp_name = $_FILES['file']['tmp_name'];
      $name = $_FILES['file']['name'];
      move_uploaded_file($tmp_name,'audit/'.$name);
    ?>
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP运算与运算符用法总结》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP使用curl模拟post上传及接收文件的方法
    • PHP基于CURL进行POST数据上传实例
    • php curl 上传文件代码实例
    • php实现curl模拟ftp上传的方法
    • php curl上传、下载、https登陆实现代码
    • 可兼容php5与php7的cURL文件上传功能实例分析
    • PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
    • PHP实现通过CURL上传文件功能示例
    • PHP使用curl请求实现post方式上传图片文件功能示例
    上一篇:关于ThinkPHP中的异常处理详解
    下一篇:PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP7基于curl实现的上传图片功能 PHP7,基于,curl,实现,的,上传,