• php5.6,curl上传的变化


    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, false); //php5.6要加上这个
    $fields = array(); $fields ['file'] = '@' . $file; curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); $response = curl_exec ( $ch );

     php5.6之前上传图片和同时传数组的例子:

        $file = __DIR__ .'/1.jpg;type=image/jpeg';
        $data = array(
            'w_type' => 1,
            'w_ip' => '111.111.111.111',
            'eqroom_id' => 104,
            'eqroom_name' => '南宁机房',
            'w_domain[0]' => 'baidu.com',
            'w_domain[1]' => 'weibo.com',
            'w_contacts_man' => '陈活跃',
            'w_contacts_phone' => '134329xx545',
            'w_shengid' => '110000',
            'w_shiid' => '110100',
            'w_xianid' => '110101',
            'w_address' => '红旗北路',
            'w_certificate' => 1,
            'w_certificate_no' => '440902xxxx1017081X',
            'w_certificate_file' => '@' . $file,
        );
        $result = curlUpload($url, $data);

    图片路径需加上 type ,要不后台接收到的图片类型为错的。

    /**
     * CURL的Upload请求
     *
     * @param  string $url 请求的URL地址
     * @param  array $data 请求的参数
     * @return string
     */
    function curlUpload($url, $data=array())
    {
        //$data = http_build_query($data); //如果不是上传文件的,需要加上这个
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        //curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);  //php5.6要加上这个
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);    
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;     
    }
  • 相关阅读:
    sqlserver 日期格式化
    CentOS7系统 ansible自动化部署多台服务器部署
    Linux运维跳槽40道面试精华题
    Linux下SVN创建新的项目
    日志切割
    SVN的安装和启动SVN的安装
    jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署
    nginx启动脚本
    nginx如何调用php
    redis常用命令
  • 原文地址:https://www.cnblogs.com/chy1000/p/5783987.html
Copyright © 2020-2023  润新知