在PHP中我上传了一个多文件。但我想将每个文件上传到不同的文件夹中。
我一次上传9个文件。
所以,目前的情景是: - 例如: - 主文件夹 - > pdf文件 - >所有上传的pdf文件
但我想: - 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-1。 再次, 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-2。 主文件夹 - > pdf文件 - >新文件夹 - > pdf文件-3。 ....... 所以在
这是我的upload.php文件: -
$output_dir = "pdf-files/";
if(isset($_FILES["myfile"]))
{
$ret = array();
$error =$_FILES["myfile"]["error"];
{
if(!is_array($_FILES["myfile"]['name'])) //single file
{
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
$ret[$fileName]= $output_dir.$fileName;
}
else
{
$fileCount = count($_FILES["myfile"]['name']);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["myfile"]["name"][$i];
$ret[$fileName]= $output_dir.$fileName;
$ret[$fileCount] = $fileCount;
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileName );
}
}
}
echo json_encode($ret);
}
答案 0 :(得分:1)
在for循环的每次迭代中,将索引添加到output_dir作为新文件夹的名称。这样就可以为每个文件获取一个新文件夹。
$output_dir = "pdf-files/";
if(isset($_FILES["myfile"]))
{
$ret = array();
$error =$_FILES["myfile"]["error"];
{
if(!is_array($_FILES["myfile"]['name'])) //single file
{
$fileName = $_FILES["myfile"]["name"];
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir. $_FILES["myfile"]["name"]);
$ret[$fileName]= $output_dir.$fileName;
}
else
{
$fileCount = count($_FILES["myfile"]['name']);
for($i=0; $i < $fileCount; $i++)
{
$fileName = $_FILES["myfile"]["name"][$i];
$ret[$fileName]= $output_dir.$fileCount."/".$fileName;
$ret[$fileCount] = $fileCount;
move_uploaded_file($_FILES["myfile"]["tmp_name"][$i],$output_dir.$fileCount."/".$fileName );
}
}
}
echo json_encode($ret);
}