当前位置:首页 > PHP教程 > php上传下载 > 列表

PHP使用curl模拟post上传及接收文件的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-13 10:31:43 浏览: 评论:0 

这篇文章主要介绍了PHP使用curl模拟post上传及接收文件的方法,涉及PHP使用curl实现post文件传输的相关技巧,需要的朋友可以参考下。

本文实例讲述了PHP使用curl模拟post上传及接收文件的方法,分享给大家供大家参考,具体如下:

  1. public function Action_Upload(){ 
  2.      $this->path_config(); 
  3.     exit(); 
  4.     $furl="@d:\develop\JMFrameworkWithDemo.rar"
  5.     $url"http://localhost/DemoIndex/curl_pos/"
  6.     $this->upload_file_to_cdn($furl$url); 
  7. public function upload_file_to_cdn($furl,$url){ 
  8.     //  初始化 
  9.     $ch = curl_init(); 
  10.     // 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候,上传路径前面要有@符号 
  11.     $post_data = array ( 
  12.       "upload" => $furl 
  13.     ); 
  14.     //print_r($post_data); 
  15.     //CURLOPT_URL 是指提交到哪里?相当于表单里的“action”指定的路径 
  16.     //$url = "http://localhost/DemoIndex/curl_pos/"; 
  17.     //  设置变量 
  18.     curl_setopt($ch, CURLOPT_URL, $url); 
  19.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//执行结果是否被返回,0是返回,1是不返回 
  20.     curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示 
  21.     //伪造网页来源地址,伪造来自百度的表单提交 
  22.     curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com"); 
  23.     //表单数据,是正规的表单设置值为非0 
  24.     curl_setopt($ch, CURLOPT_POST, 1); 
  25.     curl_setopt($ch, CURLOPT_TIMEOUT, 100);//设置curl执行超时时间最大是多少 
  26.     //使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法, 
  27.     //默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并 
  28.     //没有影响,但是还是有少部分服务器不兼容。本文得出的结论是,在没有需要上传文件的 
  29.     //情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。 
  30.     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); 
  31.     //   执行并获取结果 
  32.     curl_exec($ch); 
  33.     if(curl_exec($ch) === FALSE) 
  34.     { 
  35.       echo "<br/>"," cUrl Error:".curl_error($ch); 
  36.     } 
  37.     //  释放cURL句柄 
  38.     curl_close($ch); 
  39.     echo "aaa45"
  40. function action_curl_pos(){ 
  41.     var_dump($_FILES); 
  42.     $aa= move_uploaded_file($_FILES["upload"]["tmp_name"], "/wamp/tools/1.rar"); 
  43.     if($aa){ 
  44.       echo "11"
  45.     } 
  46. }

Tags: PHP上传 curl上传

分享到: