我正在尝试使用以下方法使用以下代码上传文件:
echo "<form method='POST' action='uploadfile.php?action=addok' enctype='multipart/form-data'>
<input type=\"file\" multiple=\"true\" name=\"userfile[]\" />
<input type='submit' value=' add '>
</form>";
if ($_GET['action'] == 'addok') {
echo "\$_FILES['userfile']=".count($_FILES['userfile'])."<br />\$_FILES['userfile']['name']=".count($_FILES['userfile']['name'])."<br />\$_FILES=".count($_FILES)."<br />";
}
它只为所有计数返回0。 如果我只上传1,它会返回计数,否则......没有.. 我从昨天起就试图解决它的问题。 有人可以帮忙吗?
答案 0 :(得分:0)
if ($_GET['action'] == 'addok') {
foreach($_FILES['userfile'] as $key=>$val){
print_r($val);
}
}
答案 1 :(得分:0)
检查你的php.ini,函数max_file_uploads()应该有一个大于1的值
然后试试这个,
<form method="post" action="uploadfile.php?action=addok" enctype="multipart/form-data">
<input type="file" name="userfile[]" multiple>
<input type="submit" value="UPLOAD">
</form>
$folder = “/home/username/www/uploading/”;
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $folder.$HTTP_POST_FILES['userfile']['name'])) {
Echo “File uploaded”;
} else {
Echo “File not moved to destination folder. Check permissions”;
};
} else {
Echo “File is not uploaded.”;
};
您需要确保您的上传文件夹具有正确的权限。 chmod -R 777更改权限,以便php可以上传到该文件夹。
值得注意的是IE&lt; 10.0不支持通过“multiple”属性上传多个文件,因为File API仍然是工作草案,http://caniuse.com/#feat=fileapi
HTML5 input type file's multiple attribute not working in IE?
答案 2 :(得分:0)
你正在计算$ _FILES,它总是1:
尝试:
echo "<form method='POST' action='uploadfile.php?action=addok' enctype='multipart/form-data'>
<input type=\"file\" multiple=\"true\" name=\"userfile[]\" />
<input type='submit' value=' add '>
</form>";
if ($_GET['action'] == 'addok') {
echo "<pre>";
print_r($_FILES);
echo "</pre>";
echo "\$_FILES['userfile']=".count($_FILES['userfile'])."<br />\$_FILES['userfile']['name']=".count($_FILES['userfile']['name'])."<br />\$_FILES=".count($_FILES['userfile']['name'])."<br />";
}
的print_r:
Array
(
[userfile] => Array
(
[name] => Array
(
[0] => file1.txt
[1] => file2.txt
[2] => file3.txt
)
[type] => Array
(
[0] => text/plain
[1] => text/plain
[2] => text/plain
)
[tmp_name] => Array
(
[0] => C:\wamp\tmp\php1F5C.tmp
[1] => C:\wamp\tmp\php1F5D.tmp
[2] => C:\wamp\tmp\php1F5E.tmp
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
)
)
结果:
$_FILES['userfile']=5
$_FILES['userfile']['name']=3
$_FILES=3
答案 3 :(得分:0)
解决方案::
它表示问题不在代码中,因为它在浏览器中。
由于我认为插件或其他问题,它无法在firefox,opera或chrome中运行。
我确实在safemode click shift + firefox icon to open in safe mode
中运行了firefox并且它运行良好。
这是任何人再遇到同样的问题。
注意: 如果有人知道如何检测这个问题并警告用户请成为我的阵风:)