限制所选文件的数量



我有一个脚本,让用户在按住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

相关内容

  • 没有找到相关文章

最新更新