>백엔드 개발 >PHP 튜토리얼 >curl 上传文件 接收的地方$_FILES为空

curl 上传文件 接收的地方$_FILES为空

WBOY
WBOY원래의
2016-06-06 20:30:061153검색

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

<code><?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);
?>
</code>

接收代码(也是官方的)

<code><?php print_r($_POST);
print_r($_FILES);
</code></code>

运行结果

<code>php -f demo.php 
Array
(
    [name] => Foo
    [file] => @/home/vagrant/test.png
)
Array
(
)
</code>

本来准备贴php.ini配置的,但是没找到上传地方。请各位先看看,需要哪些配置我尽快贴出来。
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);我也加过,内容打印出来视乎帮助不大。

回复内容:

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

<code><?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);
?>
</code>

接收代码(也是官方的)

<code><?php print_r($_POST);
print_r($_FILES);
</code></code>

运行结果

<code>php -f demo.php 
Array
(
    [name] => Foo
    [file] => @/home/vagrant/test.png
)
Array
(
)
</code>

本来准备贴php.ini配置的,但是没找到上传地方。请各位先看看,需要哪些配置我尽快贴出来。
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);我也加过,内容打印出来视乎帮助不大。

<code>$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);    // 5.6 给改成 true了, 弄回去 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>
</code>

在sf搜到的: 考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传

看了感觉很不错

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.