博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php curl上传文件$_FILES为空问题
阅读量:6200 次
发布时间:2019-06-21

本文共 1362 字,大约阅读时间需要 4 分钟。

php使用curl上传文件,代码如下:

发送的代码(完全是官方的示例)

<?php

/* http://localhost/upload.php:

print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/vagrant/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/curl/load_file.php');

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);

?>

接收代码(也是官方的)

<?php

print_r($_POST);
print_r($_FILES);
运行结果

php -f demo.php

Array
(
[name] => Foo
[file] => @/home/vagrant/test.png
)
Array
(
)

解决方法1:

<?php

/* http://localhost/upload.php:

print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/vagrant/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/curl/load_file.php');

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);

?>

解决方法2:

5.6版本下
<?php

/* http://localhost/upload.php:

print_r($_POST);
print_r($_FILES);
*/

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => new \CURLFile(realpath('/home/vagrant/test.png')));

curl_setopt($ch, CURLOPT_URL, 'http://localhost/test/curl/load_file.php');

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);

?>

 

相关文章:

php curl文件上传兼容php5.0~5.6各版本

转载地址:http://ovtca.baihongyu.com/

你可能感兴趣的文章
Effect_Players
查看>>
制作百度地图
查看>>
CSS文档流
查看>>
win7下内核调试
查看>>
添加zookeeper到服务,并设置开机启动
查看>>
Sqlserver表值函数
查看>>
兼容ie的jquery ajax文件上传
查看>>
多道程序设计〕协程构造
查看>>
查看指定类型进程的个数
查看>>
棋盘上的距离
查看>>
制作cpprefernce.chm
查看>>
一个程序员的自白(庸人再扰)
查看>>
微信分享
查看>>
visual studio code新手入门
查看>>
去世父亲在儿子手机中复活,这可能是最温暖的一个AI
查看>>
如何管理linux开机自启服务
查看>>
nosql笔记2_早前的时候
查看>>
高质高效软件开发组织能力模型
查看>>
cloudstack 4管理器安装备忘
查看>>
linux运维新手参观机房后的心得体会
查看>>