curl命令模拟表单上传文件

php中文网
发布: 2016-07-25 08:51:21
原创
1538人浏览过
  1. //初始化

  2. $ch = curl_init();
  3. // 要上传的本地文件地址"@F:/xampp/php/php.ini"上传时候,上传路径前面要有@符号

  4. $furl = "@F:/xampp/php/php.ini";
  5. $post_data = array (
  6. "upload" => $furl
  7. );
  8. //CURLOPT_URL 是指提交到哪里?相当于表单里的“action”指定的路径

  9. $url = "http://localhost/test/curl/curl_post.php";
  10. //设置变量

  11. curl_setopt($ch, CURLOPT_URL, $url);
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//执行结果是否被返回,0是返回,1是不返回
  13. curl_setopt($ch, CURLOPT_HEADER, 0);//参数设置,是否显示头部信息,1为显示,0为不显示
  14. //伪造网页来源地址,伪造来自百度的表单提交

  15. curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");
  16. //表单数据,是正规的表单设置值为非0

    表单大师AI
    表单大师AI

    一款基于自然语言处理技术的智能在线表单创建工具,可以帮助用户快速、高效地生成各类专业表单。

    表单大师AI 74
    查看详情 表单大师AI
  17. curl_setopt($ch, CURLOPT_POST, 1);
  18. curl_setopt($ch, CURLOPT_TIMEOUT, 1);//设置curl执行超时时间最大是多少

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

  20. //默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并
  21. //没有影响,但是还是有少部分服务器不兼容。本文得出的结论是,在没有需要上传文件的
  22. //情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
  23. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  24. //执行并获取结果

  25. $output = curl_exec($ch);
  26. if($outopt === FALSE)
  27. {
  28. echo "
    ","cUrl Error:".curl_error($ch);
  29. }
  30. // 释放cURL句柄
  31. curl_close($ch);
  32. ?>
复制代码

文件2:curl_post.php

  1. echo "
    ";
    登录后复制
  2. var_dump($_FILES);
  3. ?>
复制代码

结果如下:

  1. array(1) {
  2. ["upload"]=>
  3. array(5) {
  4. ["name"]=>
  5. string(7) "php.ini"
  6. ["type"]=>
  7. string(24) "application/octet-stream"
  8. ["tmp_name"]=>
  9. string(24) "F:xampptmpphpB2D1.tmp"
  10. ["error"]=>
  11. int(0)
  12. ["size"]=>
  13. int(46217)
  14. }
  15. }
复制代码


最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号