加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PHP实现通过CURL上传文件成果示例

发布时间:2021-05-24 03:22:27 所属栏目:编程 来源:网络整理
导读:本篇章节讲授PHP实现通过CURL上传文件成果。供各人参考研究详细如下: PHP行使CURL上传文件只需发送一个POST哀求就可以了,在哀求中配置某个字段为必要上传的文件全路径,而且以"@"开头,然后行使CURL把该变量以POST方法发送随处事器,在处事端即

本篇章节讲授PHP实现通过CURL上传文件成果。分享给各人供各人参考,详细如下:

PHP行使CURL上传文件只需发送一个POST哀求就可以了,在哀求中配置某个字段为必要上传的文件全路径,而且以"@"开头,然后行使CURL把该变量以POST方法发送随处事器,在处事端即可以从超等全局变量$_FILES中取到响应的上传文件信息。

下面我们以一个例子来展示这个进程。

假设当地有一个文本文件log.txt,其路径为"/www/test/log.txt",内容如下:

为了把这个文件上传给处事端的剧本

"bar",//要上传的当地文件地点 "upload" = > "@/www/test/log.txt" ); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,$post_data); $output = curl_exec($ch); curl_close($ch); echo $output; ?>

curl_file.php的逻辑很简朴,配置POST变量$post_data,个中upload指向必要发送的文件。这里要留意,我们之前行使POST都是发送一个字符串,然后在处事器端行使file_get_contents("php//input")来获取该字符串,和这里的用法纷歧样,着实POST也可以像GET一样,发送键值对。在处事端有一个超等全局变量$_POST可以像$_GET一样,获取响应的POST数据的值。必要留意的是,上传文件的变量不是存在着$_POST中,而是在$_FILES中。

为了展示处事端收到上述代码的文件上传哀求的逻辑,我们在upload.php中写了以下代码:

upload.php起首行使var_export$_FILES变量输出到尺度输出,然后行使file_get_contents读取$_FILES['upload']['tmp_name']所指文件的内容,并输出到尺度输出,然后把$_FILES['upload']['tmp_name']所指文件廉价到当前目次的log_copy.txt文件中。该剧本的尺度输出如下:

array( 'upload' => array( 'name' => 'log.txt', 'type' => 'application/octet-stream', 'tmp_name' => '/tmp/phpLUB59F', 'error' => 0, 'size' => 36, ) ) this is a file for test hello PythonTab!

可以看到$_FILES变量中有一个upload数组,对应到上传文件描写信息,个中name和type别离暗示名称和范例。tmp_name较量要害,处事端在吸取到上传文件之后,会把文件写在一个姑且文件中,这个姑且文件的名字就是tmp_name的值,这也是为什么我们读取该文件可以获取一log.txt的文件内容。一样平常在处事端吸取到上传文件后都必要当即读取该文件可能把文件复制到别外一个文件中,由于tmp_name所指的姑且文件在处事端剧本执行完毕后会被删除去,upload.php剧本的最后一行就是把姑且文件复制到我们的方针文件中。

更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》、《》及《》

但愿本文所述对各人PHP措施计划有所辅佐。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读