我有一个脚本,让用户在按住CTRL键的同时选择多个图像,然后将它们上传到服务器。我需要将所选图像的数量限制为10张,因此当用户提交表单时,如果图像超过10张,他将收到错误。
我该怎么做?
第页。S: 我有一个foreach循环,看起来像这样:
foreach ($_FILES['file']['tmp_name'] as $key => $tmp_name)
欢迎使用PHP解决方案。因为我不信任javascript和jquery。
编辑:
这是我的剧本:http://pastebin.com/76NiNB6D
您的循环正试图遍历一个字符串。也许你的意思是:
$number_of_files = 0;
foreach ($_FILES as $file)
{
if ($file['error'] == 0)
{
// file uploaded successfully
$number_of_files++;
}
}
if ($number_of_files > 10)
{
die('You uploaded too many files!');
} else {
foreach ($_FILES as $file)
{
if ($file['error'] == 0)
{
copy_the_file_to_destination(); // left as an excercise for the reader ;-)
}
}
}
您可以只执行count($_FILES);
,但它会计算所有文件输入,即使是空的。
我找到了我现在正在寻找的PHP答案!:D.我做了以下事情:
我检查了Carlos的答案,并在循环外放置了一个值为0的变量。然后我像Carlos那样创建了错误检查:if ($file['error'] == 0)
然后我再次执行Carlos在IF语句$number_of_files++;
中所做的操作
现在我走出了循环,做了这个:
if ($uploaded > 10)
{
unlink($image);
unlink($thumb);
if ($resize) { unlink($res); }
}
这会自动删除第11个图像,并在我的服务器中只保留10个图像。
感谢所有的信息,卡洛斯,我认为我把它结合得很好:p