我下载并安装了xampp for windows。当我尝试将图片,视频或音乐上传到我在localhost的php时,我只得到$ _FILE [' some_file'] [name]我没有[size],[type],[error]和最重要的到我的[tmp_name]。但是当我尝试上传一些.rar文件或某些文档时,我得到了所有这些文件信息。以下是我尝试上传某些音乐文件时的内容:
Array
(
[name] => Array
(
[0] => Blondee – Moment (Original Mix) www.livingelectro.com.mp3
[1] => Eli & Fur – Turn The Lights Down www.livingelectro.com.mp3
[2] => Fake Forward Ft. CHRYSTAL - Brush It Off (Club Mix) www.livingelectro.com.mp3
)
[type] => Array
(
[0] =>
[1] =>
[2] =>
)
[tmp_name] => Array
(
[0] =>
[1] =>
[2] =>
)
[error] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
[size] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
)
[type]和[tmp_name]为空,[error]显示错误,[size]显示0kb。
但是当我尝试上传一些rar文件时,正在运行:
Array
(
[name] => Array
(
[0] => Aaargh.zip
[1] => afta-sans.zip
[2] => armata.zip
)
[type] => Array
(
[0] => application/octet-stream
[1] => application/octet-stream
[2] => application/octet-stream
)
[tmp_name] => Array
(
[0] => C:\xampp\tmp\php95EE.tmp
[1] => C:\xampp\tmp\php95FF.tmp
[2] => C:\xampp\tmp\php9600.tmp
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 13835
[1] => 32570
[2] => 26454
)
)
这是我的索引代码:
<?php
$files = $_FILES["postFile"];
echo '<pre>';
print_r($files);
echo '</pre></br></br>';
?>
答案 0 :(得分:1)
如果您注意到没有填写所有阵列的情况,那么您确实会将所有上传的文件标记为错误!
[error] => Array
(
[0] => 1
[1] => 1
[2] => 1
)
1 = UPLOAD_ERR_INI_SIZE
这就是为什么其他任何字段都没有包含您期望的内容。
在对上传的文件执行任何操作之前,您必须始终检查错误数组。
您需要检查此参数的php.ini
文件,并可能增加最大尺寸。
upload_max_filesize = ?
很可能也是这个。
post_max_size = ?
post_max_size
需要足够大才能应对upload_max_filesize * number of files uploaded
+几k以应对同时传递的其他字段和一般开销。
...