从文件名创建文件夹并保存文件。但是第一个文件夹总是有问题

Creating Folders From File Name and Save the Files. But First Folder always goes in problem

我改变了使用上传的方式。 我注意到当我 select 一个文件夹上传它时 select 所有内部文件甚至来自子文件夹,在我的主文件夹中有很多子文件夹,在每个子文件夹中,有 2 到 3文件。 文件名如下。

6-AALIYAH WIGHTON - 299-SOLO-JAZZ-6 YEARS AND UNDER
7-ABIGAIL PALMER - 301-SOLO-LYRICAL-6 YEARS AND UNDER
4-ZOE CAMPBELL - 299-SOLO-JAZZ-6 YEARS AND UNDER.mp3

因此,在文件名中,第二个参数是文件夹名称。 例如,在上面的 3 个示例名称中,AALIYAH WIGHTONABIGAIL PALMERZOE CAMPBELL 是文件夹名称。需要先创建,然后文​​件将进入这些文件夹。

这是代码。

if(isset($_POST['submit'])){
    foreach ($_FILES['files']['name'] as $i => $name) {
        if(strlen($_FILES['files']['name'][$i]) > 1) {
            $Folder = explode('-', $name)[1];
            $Path = 'BaberZamanTest/TEST/'.trim($Folder);
            
            //First Make Directories or Folder if not exist
            if(!file_exists($Path)){
            mkdir($Path, 0777, true);
            }
            //If the Folder has no file $name in $Path then Move file 
            if(!file_exists($Path.'/'.$name)){
                move_uploaded_file($_FILES['files']['tmp_name'][$i], $Path.'/'.$name);
            }
        }
    }
}

<form method="post" enctype="multipart/form-data">
    <input type="file" name="files[]" id="files" multiple webkitdirectory mozdirectory>
    <input class="button" type="submit" name="submit" value="Upload" />
</form>

现在是什么问题。 总的来说它工作完美。但是每次它都会跳过第一个文件夹,或者第一个文件夹中的一些文件。 当我 select 我的文件夹时,它显示正确的文件数。文件夹中有 10 个子文件夹,所有子文件夹总共有 22 个文件。当我 select 时,它显示正确的文件数 22 但是当上传过程运行时,它经常上传 20 个文件。特别是它只错过了第一个文件夹。所有其他文件夹都可以正常工作。所有文件都在那里。

请帮我解决这个问题

我认为您需要先编辑 php.ini 文件。因为 max_file_uploads 的默认数字是 20,我敢肯定你错过了这部分。

去找你 public_html 并找到 php.ini 文件。如果不存在,您可以创建一个新的 php.ini 文件,用文本编辑器编辑它并放在那里

max_file_uploads=50;

或者你想要多少个文件。

它会起作用