【PHP】 curl 上传文件 流

 

在运行过程中, 以下两种方式要看你的PHP 版本

'file' =>'@' .$filePath
'file' =>new CURLFile(realpath($filePath))

 

本次测试是在 php 5.6  , 代码如下

<?php

$ch = curl_init();  


$filePath = 'C:\Users\Administrator\Desktop\img1.jpg';
$data = array('name' => 'Foo', 'file' =>new CURLFile(realpath($filePath)) );  
curl_setopt($ch, CURLOPT_URL, 'http://www.img127.com/home/upload/file_one');  
curl_setopt($ch, CURLOPT_POST, 1);  


/***
** 从可靠的角度,推荐指定CURL_SAFE_UPLOAD的值,
** 明确告知php是容忍还是禁止旧的@语法。注意在低版本PHP中CURLOPT_SAFE_UPLOAD常量本身可能不存在,需要判断:
**
***
***/
if (class_exists('\CURLFile')) {
    curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
} else {
    if (defined('CURLOPT_SAFE_UPLOAD')) {
        curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
    }
}

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);  
curl_exec($ch);  
$aStatus = curl_getinfo($ch);  


?>

 

接收时候。直接  $_files, 就可以了

 

posted @ 2018-03-15 10:33  依然范儿特西  阅读(674)  评论(0)    收藏  举报