• php curl上传文件


    如果PHP 5 >= 5.5.0, PHP 7,推荐使用CURLFile类设置文件信息

    $real_path=$_SERVER['DOCUMENT_ROOT'].'/Public/Public/Images/1.jpg';//文件绝对路径
    $data= array(
            "media"=>new CURLFile($real_path) 
            );
            $timeout = 5;
            $ch = curl_init ();
            curl_setopt ( $ch, CURLOPT_URL, $api );
            curl_setopt ( $ch, CURLOPT_POST, 1 );
            curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
            curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );
            curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data);
            $result = curl_exec ( $ch );

    根据php手册也可以这样设置,

    $real_path=$_SERVER['DOCUMENT_ROOT'].'/Public/Public/Images/1.jpg';//文件绝对路径
            $data= array(
            "media"=>@$real_path /*注意@*/
            );
            $timeout = 5;
            $ch = curl_init ();
                    curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD,false );/*设置为false*/
            curl_setopt ( $ch, CURLOPT_URL, $api );
            curl_setopt ( $ch, CURLOPT_POST, 1 );
            curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
            curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
            curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );
            curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data);
            $result = curl_exec ( $ch );

     然而我在本地测试成功.使用微信公众平台上传图片接口却失败,说找不到文件,有时间时要好好研究一下.

  • 相关阅读:
    事件对象阻止默认行为
    事件对象的属性和方法
    [MySQL] 中 Schema和Database的区别
    MyBatis-session-SqlSession
    Setting the Java Class Path
    MySQL Connector/J
    Backup and Recovery Types
    The MySQL Server
    Server SQL Modes
    MySQL Server and Server-Startup Programs
  • 原文地址:https://www.cnblogs.com/ch459742906/p/6951755.html
Copyright © 2020-2023  润新知