首页 > 编程 > PHP > 正文

在 php 中通过 CURL 上传文件

2020-03-22 20:29:37
字体:
来源:转载
供稿:网友

1、使用 CURL 默认的方法

$file = realpath( gif/1.gif //要上传的文件$fields[ f ] = @ .$file;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/ajax_server.php?id=1 curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_exec ($ch); curl_close ($ch);


2、另类的做法,有时我们需要将动态产生的内容当做文件上传到远程服务器,却又不想在本地服务器中构建临时文件。这样就有了这个另类的写法

$contents = TEXT 数据报中应该是Content-Disposition: form-data; name= userfile filename= file_name Content-Type: 文档类型这样的格式,我只实现了文件名部分,文档类型不知道如何实现。这样上传后就取不到 type 的值curl_upload_server.php xmp  ?phpprint_r($_FILES);echo 文件内容:/n $p = html' target='_blank'>current($_FILES);readfile($p[ tmp_name TEXT;$fields[ f filename= x.x ] = $contents; //这个关联键的写法很怪异吧?$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/curl_upload_server.php curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$s = curl_exec ($ch); curl_close ($ch); echo $s;
$contents = TEXT 上传文件在数据报中应该是Content-Disposition: form-data; name= userfile filename= file_name Content-Type: 文档类型这样的格式以下是服务器端代码curl_upload_server.php xmp  ?phpprint_r($_FILES); //检查上传信息echo 文件内容:/n $p = current($_FILES);readfile($p[ tmp_name //输出上传的文件TEXT;$varname = my $name = 3.txt $type = text/plain $key = $varname/ filename=/ $name/r/nContent-Type: $type/r/n $fields[$key] = $contents;$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, http://localhost/curl_upload_server.php curl_setopt($ch, CURLOPT_CUSTOMREQUEST, POST );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$s = curl_exec ($ch); curl_close ($ch); echo $s;

本文讲解了在 php 中通过 CURL 上传文件相关内容请关注php 。

相关推荐:

简易 PHP+MySQL 分页类

两个不用递归的树形数组构造函数

HTML转Excel,并实现打印,下载功能

以上就是在 php 中通过 CURL 上传文件的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表