Php 从文件名创建文件夹并保存文件。但第一个文件夹总是有问题
我已经改变了使用上传的方式。 我注意到,当我选择要上载的文件夹时,它会选择所有内部文件,甚至是子文件夹中的文件。在我的主文件夹中有许多子文件夹,每个子文件夹中有2到3个文件。 文件名如下Php 从文件名创建文件夹并保存文件。但第一个文件夹总是有问题,php,fine-uploader,Php,Fine Uploader,我已经改变了使用上传的方式。 我注意到,当我选择要上载的文件夹时,它会选择所有内部文件,甚至是子文件夹中的文件。在我的主文件夹中有许多子文件夹,每个子文件夹中有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.m
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 WIGHTON
,ABIGAIL PALMER
,ZOE 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>
if(isset($\u POST['submit'])){
foreach($_FILES['FILES']['name']作为$i=>$name){
if(strlen($_FILES['FILES']['name'][$i])>1){
$Folder=explode('-',$name)[1];
$Path='BaberZamanTest/TEST/'.trim($Folder);
//首先创建目录或文件夹(如果不存在)
如果(!file_存在($Path)){
mkdir($Path,0777,true);
}
//如果文件夹在$Path中没有文件$name,则移动文件
如果(!file_存在($Path.'/'.$name)){
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$i;
}
}
}
}
现在是什么问题。
总的来说,它工作得很好。但每次它都会跳过第一个文件夹或第一个文件夹中的一些文件。
当我选择我的文件夹时,它会显示正确的文件数。文件夹中有10个子文件夹,所有子文件夹中有22个子文件夹。当我选择时,它会显示正确的文件数22
,但当上载过程运行时,它通常会上载20
文件。特别是它只遗漏了第一个文件夹。所有其他文件夹工作正常。所有文件都到了
在这个问题上请帮助我我想你需要先编辑你的php.ini
文件。因为max\u file\u上传的默认数量是20
,我敢肯定你错过了这一部分
转到您的public\u html
并找到php.ini
文件。您可以创建一个新的php.ini
文件,如果不存在,请使用文本编辑器对其进行编辑并将其放在那里
max_file_uploads=50;
或者需要多少文件
它将工作如果有人的名字中有-
,希望你的系统不会失败。。。