• 售前

  • 售后

热门帖子
入门百科

php使用curl模拟浏览器表单上传文件或者图片的方法

[复制链接]
囝囝刚 显示全部楼层 发表于 2021-10-26 13:25:13 |阅读模式 打印 上一主题 下一主题
前言

在欣赏器使用html中的input框我们可以实现文件的上传,表单元素选用 <input type="file"> 控件,form 表单需要设置 enctype="multipart/form-data" 属性。比如:
  1. <body>
  2.   <form action="UploadFile.php" method="post" enctype="multipart/form-data">
  3.   <input type="file" name="fileUpload" />
  4.   <input type="submit" value="上传文件" />
  5.   </form>
  6. </body>
复制代码
总有一些时间,我们需要在后台直接上传文件而不是用欣赏器举行前端上传,这时间php的curl就提供了一些参数可以实现直接通过php后台上传文件。

php使用curl模仿上传文件

curl上传文件的时间,最紧张的是一个“ @”符号的应用,加@符号curl就会把它当成是文件上传处置惩罚。
详细代码实例:
  1. <?php
  2.   header('Content-type:text/html; charset=utf-8'); //声明编码
  3.   $ch = curl_init();
  4.   $url = 'https://xxx.com/api/mobile/auto_upload.php?uid=9705459';
  5.   
  6.   //post数据,使用@符号,curl就会认为是有文件上传
  7.   $curlPost = array('Filedata'=>'@/Users/finup/Documents/11.png');
  8.   
  9.   
  10.   curl_setopt($ch, CURLOPT_URL, $url);
  11.   curl_setopt($ch, CURLOPT_HEADER, 1);
  12.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  13.   curl_setopt($ch, CURLOPT_POST, 1); //POST提交
  14.   curl_setopt($ch, CURLOPT_POSTFIELDS,$curlPost);
  15.   $data =curl_exec($ch);
  16.   curl_close($ch);
  17.   echo '<pre>';
  18.   var_dump($data);
复制代码
上述代码实例中的url是处置惩罚文件上传的详细的接口,可以直接使用$_FILES来获取上传的临时文件相关信息,打印出$_FILES如下,此中数组的键“Filedata”名可以在转达参数的时间自己指定:
  1. Array
  2. (
  3. [Filedata] => Array
  4. (
  5. [name] => 11.png
  6. [type] => application/octet-stream
  7. [tmp_name] => /private/var/tmp/php936cex
  8. [error] => 0
  9. [size] => 36663
  10. )
  11. )
复制代码
以上就是本文的全部内容,盼望对各人的学习有所资助,也盼望各人多多支持草根技术分享。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作