上传具有长文件名的多个文件

时间:2014-01-02 03:04:01

标签: php html

我使用以下html和php代码来选择和上传多个文件。

HTML

 <form action="uploadFiles.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file[]" multiple="multiple"/></br>
    <input type="submit" name="submit[]" value="submit" />
 </form>

uploadFiles.php

<?php
    if(isset($_POST['submit']))
    {
       if ($_FILES["file[]"]["error"] > 0)
       {
            echo "Error: " . $_FILES["file[]"]["error"] . "<br>";
        }
        else
        {
            $numFilesUploaded=count($_FILES['file']['name']);
            echo "No. files uploaded : ".$numFilesUploaded."<br><br>";
            for ($inc=0; $inc<$numFilesUploaded; ++$inc){
                echo "File " . $inc . ": " . $_FILES["file"]["name"][$inc] . "<br>";
                echo "Upload: " . $_FILES["file"]["name"][$inc] . "<br>";
                echo "Type: " . $_FILES["file"]["type"][$inc] . "<br>";
                echo "Size: " . ($_FILES["file"]["size"][$inc] / 1024) . " kB<br>";
                echo "Stored in: " . $_FILES["file"]["tmp_name"][$inc];
                echo "<br><br>";
            }
        }
    }
?>

如果我选择2个文件,每个文件的字符长度为8,则代码可以正常工作。但是,当我选择名称长度为32的文件时,$ _POST是一个空数组。上传文件名可能很长的多个文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

就PHP问题而言,文件名不是问题,请确保您的

upload_max_filesize
max_post_size

在php.ini文件中正确设置,如果您尝试上传大于tha的文件,您将无法上传该文件。所以仔细检查一下。