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

php curl上传文件$_FILES为空问题

发布时间:2020-12-13 21:21:41 所属栏目:PHP教程 来源:网络整理
导读: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,CU

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',CURLOPT_SAFE_UPLOAD,false);
curl_setopt($ch,$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,$data);

curl_exec($ch);
?>

?

相关文章:

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

http://www.cnblogs.com/zqifa/p/php-curl-2.html

(编辑:李大同)

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

    推荐文章
      热点阅读