public function Action_Upload(){

     $this->path_config();

    exit();

    $furl="@d:\develop\JMFrameworkWithDemo.rar";

    $url= "http://localhost/DemoIndex/curl_pos/";

    $this->upload_file_to_cdn($furl, $url);

}

public function upload_file_to_cdn($furl,$url){

    //  初始化

    $ch = curl_init();

    // 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候,上传路径前面要有@符号

    $post_data = array (

      "upload" => $furl

    );

    //print_r($post_data);

    //CURLOPT_URL 是指提交到哪里?相当于表单里的“action”指定的路径

    //$url = "http://localhost/DemoIndex/curl_pos/";

    //  设置变量

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//执行结果是否被返回,0是返回,1是不返回

    curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示

    //伪造网页来源地址,伪造来自百度的表单提交

    curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");

    //表单数据,是正规的表单设置值为非0

    curl_setopt($ch, CURLOPT_POST, 1);

    curl_setopt($ch, CURLOPT_TIMEOUT, 100);//设置curl执行超时时间最大是多少

    //使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,

    //默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并

    //没有影响,但是还是有少部分服务器不兼容。本文得出的结论是,在没有需要上传文件的

    //情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。

    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

    //   执行并获取结果

    curl_exec($ch);

    if(curl_exec($ch) === FALSE)

    {

      echo "<br/>"," cUrl Error:".curl_error($ch);

    }

    //  释放cURL句柄

    curl_close($ch);

    echo "aaa45";

}

function action_curl_pos(){

    var_dump($_FILES);

    $aa= move_uploaded_file($_FILES["upload"]["tmp_name"], "/wamp/tools/1.rar");

    if($aa){

      echo "11";

    }

}

PHP中curl模拟post上传及接收文件的更多相关文章

  1. 使用html中的<input>标签上传多个文件(转)

    如何使用html上传多个文件呢?我搜索中文怎么也找不到合适的,都是用js动态添加input,然后提交,不能满足我想要的——打开选择文件的窗口后可以一次性选择多个文件. 然后我尝试搜索英文"h ...

  2. 通过PHP CURL模拟请求上传文件|图片。

    现在有一个需求就是在自己的服务器上传图片到其他服务器上面,过程:客户端上传图片->存放到本地服务器->再转发到第三方服务器; 由于前端Ajax受限制,只能通过服务器做转发了. 在PHP中通 ...

  3. PHP通过curl模拟POST上传文件,5.5之前和之后的区别

    首先先要着重提一下,只要是做和项目有关的开发,首先按把环境中各个服务的版本保持一致,否则出些莫名其妙的错我,让你百爪挠心却不知哪里的问题.这里就要说下curl_setopt($ch, CURLOPT_ ...

  4. PHP curl 模拟POST 上传文件(含php 5.5后CURLFile)

    <?php /** * Email net.webjoy@gmail.com * author jackluo * 2014.11.21 * */ //* function curl_post( ...

  5. [转]php中 curl模拟post发送json并接收json

    本文转自:https://blog.csdn.net/pangchengyong0724/article/details/52103962 本地模拟请求服务器数据,请求数据格式为json,服务器返回数 ...

  6. 在开发框架中使用FTP辅助类上传或者下载文件,方便管理附件内容

    在有些系统应用里面,我们需要对应用服务器.数据库服务器.文件服务器进行分开,文件路径等信息存储在数据库服务器里面,但文件内容则存储在文件服务器里面,通过使用FTP进行文件的上传下载,从而实现更加高效的 ...

  7. php中 curl模拟post发送json并接收json(转)

    本地模拟请求服务器数据,请求数据格式为json,服务器返回数据也是json. 由于需求特殊性, 如同步客户端的批量数据至云端, 提交至服务器的数据可能是多维数组数据了.  这时需要将此数据以一定的数据 ...

  8. ASP.NET中扩展FileUpload的上传文件的容量

    ASP.NET中扩展FileUpload只能上传小的文件,大小在4MB以内的.如果是上传大一点的图片类的可以在web.config里面扩展一下大小,代码如下 <system.web> &l ...

  9. Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)

    先上代码: public void uploadToUrl(String fileId, String fileSetId, String formUrl) throws Throwable { St ...

随机推荐

  1. Alpha、伪Beta 发布后,严一格的个人感想与体会

    伪Beta发布在4月15日下午2.30左右结束,严一格所在的“爆打”团队产品发布成功.下面是我的想法和体会~ 1.作为“爆打”团队中的一员,我对我们团队可以成功发布Alpha版本和伪Beta版本感到由 ...

  2. Java微信二次开发(一)

    准备用Java做一个微信二次开发项目,把流程写在这里吧. 第一天,做微信请求验证 需要导入库:servlet-api.jar 第一步:新建包com.wtz.service,新建类LoginServle ...

  3. Spring之注入复杂类型属性

    注入类: package helloworld; import java.util.List; import java.util.Map; import java.util.Properties; p ...

  4. gdb调试coredump文件

    linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb. 1.生成coredump文件 echo "ulimit -c unlimited" >> /etc ...

  5. 「TJOI / HEOI2016」字符串

    「TJOI / HEOI2016」字符串 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为 \(n\) 的字符串 \(s\),和 ...

  6. stm32 修改工作频率

    @2018-5-11 10:04:22 修改外部晶振大小 stm32f4xx系列是在文件<stm32f4xx.h>中的宏定义 #define HSE_VALUE (uint32_t)800 ...

  7. 前端学习 -- Css -- 内联元素的盒模型

    内联元素不能设置width和height: 设置水平内边距,内联元素可以设置水平方向的内边距:padding-left,padding-right: 垂直方向内边距,内联元素可以设置垂直方向内边距,但 ...

  8. ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);

    StringBuilder sb = new StringBuilder(1024); //向sb中写入900个左右的随机字符内容 for(int j=1; j< 50;j++) { sb.ap ...

  9. vue-devtools/安装vue-devtools

    一.在github上下载压缩包,github下载地址:https://github.com/vuejs/vue-devtools 二.解压到本地的某盘 三.用你的npm中进入该文件夹下 在npm中执行 ...

  10. Request URI Too Long

    如上图所示,URL传參长度限制,改为Post参数提交就好了.