php中利用curl访问接口、上传文件
2017-05-26 17:55
465 查看
get 方式
post方式
php版本针对文件上传
兼容写法
//$params = ['sfsf'=>1]; //$params_url = $base_url.'?'.http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $params_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_TIMEOUT, 60); $result = curl_exec($ch); curl_close($ch);
post方式
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $base_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_TIMEOUT, 60); $result = curl_exec($ch); curl_close($ch);
php版本针对文件上传
<=5.4 curl上传文件只支持@语法 = 5.5 支持@语法和CURLFile类 大于=5.6 只支持CURLFile类
兼容写法
$ch = curl_init(); if (class_exists('\CURLFile')) {// 这里用特性检测判断php版本 curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true); $data = array('file' => new \CURLFile(realpath($source)));//>=5.5 } else { if (defined('CURLOPT_SAFE_UPLOAD')) { curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false); } $data = array('file' => '@' . realpath($source));//<=5.5 } curl_setopt($ch, CURLOPT_URL, $base_url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ch, CURLOPT_TIMEOUT, 60); $result = curl_exec($ch); curl_close($ch); 也可以用curl_file_create(realpath($source))来替代 new \CURLFile(realpath($source)))
相关文章推荐
- php利用curl上传文件到服务器(支持文件夹创建)
- php5.6及以上版本利用curl文件上传
- php-curl封装[避免上传文件二义性Bug]
- PHP访问REST API上传文件的解决方案
- php 利用fsockopen GET/POST 提交表单及上传文件
- 利用文件函数实现PHP文件上传案例分析
- 利用discuz实现PHP大文件上传应用实例代码
- php curl fsockopen 上传文件
- php无刷新利用iframe实现页面无刷新上传文件(1/2)
- 在php中通过curl上传文件
- php利用iframe实现无刷新文件上传功能
- 如何利用PHP上传文件
- php利用iframe实现无刷新文件上传功能的代码
- 在 php 中通过 CURL 上传文件
- windows2003 访问access 和 php上传文件需要注意的地方
- 利用discuz实现PHP大文件上传应用实例代码
- php使用curl上传文件
- 在 php 中通过 CURL 上传文件
- php 利用fsockopen GET/POST 提交表单及上传文件
- php文件通过curl访问传递参数