如何使用循环功能搜索同一文件以删除文件?
How to use loop function to search same file to delete file?
我在删除两个不同文件夹中的两个文件(都具有相同的文件名)时遇到问题。我尝试使用取消链接功能进行删除。如何使用 PHP 取消链接功能删除这两个不同文件夹中的这两个文件?
任何人都可以指导我如何使用 array_intersect 找到 select 文件并将它们推入数组,然后 运行 在该数组上进行 foreach 循环以使用 unlink 删除?
<?php
$i = 1;
$files = scandir("upload_dms_file/uploads_meeting_document");
$files_2 =scandir("upload_dms_file/uploads_filing_file");
$result=array_intersect($files,$files_2);
// $date = $files[$a];
for ($a = 2; $a < count($files); $a++) {
?>
<tr>
<td> <?php echo $i++; ?></td>
<td> <a href="upload_dms_file/uploads_meeting_document/<?php echo $files[$a]; ?>" target="_blank"> <?php echo $files[$a]; ?></a></td>
<td>
<button class="btn btn-sm btn-primary"><a href="upload_dms_file/uploads_meeting_document/<?php echo $files[$a]; ?>"
download="<?php echo $files[$a]; ?>" style="color: white;">
Download</a></button>
   
<button class="btn btn-sm btn-primary"><a
href="upload_dms_file/delete_meeting_document.php?name=uploads_meeting_document/<?php echo $files[$a]; ?>" style="color: white;">
Delete
</a></button>
</td>
</tr>
<?php
} ?>
下面是我的删除代码,它成功删除了uploads_meeting_document文件夹中的文件,所以我的问题是如何删除位于uploads_filing_file中的文件的另一个副本(变量是$ files_2) 文件夹?
<?php
unlink($_GET["name"]);
// Redirecting back
header("Location: " . $_SERVER["HTTP_REFERER"]);
?>
下面是我的输出页面:
Output2
希望有人能指导我如何解决。这几天我一直在解决这些问题。谢谢
您可以像下面这样更改您的删除代码。
<?php
$folder1 = "uploads_meeting_document";
$folder2 = "uploads_filing_file";
$files = scandir($folder1);
$files_2 =scandir($folder2);
if(in_array($_GET["name"],$files)) {
unlink($folder1 . "/" . $_GET["name"]);
};
if(in_array($_GET["name"],$files_2 )) {
unlink($folder2 . "/" . $_GET["name"]);
};
// Redirecting back
header("Location: " . $_SERVER["HTTP_REFERER"]);
?>
首先获取两个文件夹中所有文件的列表,然后获取每个文件夹(如果文件夹中存在给定文件)然后取消链接。这将从两个文件夹中删除文件。
我在删除两个不同文件夹中的两个文件(都具有相同的文件名)时遇到问题。我尝试使用取消链接功能进行删除。如何使用 PHP 取消链接功能删除这两个不同文件夹中的这两个文件?
任何人都可以指导我如何使用 array_intersect 找到 select 文件并将它们推入数组,然后 运行 在该数组上进行 foreach 循环以使用 unlink 删除?
<?php
$i = 1;
$files = scandir("upload_dms_file/uploads_meeting_document");
$files_2 =scandir("upload_dms_file/uploads_filing_file");
$result=array_intersect($files,$files_2);
// $date = $files[$a];
for ($a = 2; $a < count($files); $a++) {
?>
<tr>
<td> <?php echo $i++; ?></td>
<td> <a href="upload_dms_file/uploads_meeting_document/<?php echo $files[$a]; ?>" target="_blank"> <?php echo $files[$a]; ?></a></td>
<td>
<button class="btn btn-sm btn-primary"><a href="upload_dms_file/uploads_meeting_document/<?php echo $files[$a]; ?>"
download="<?php echo $files[$a]; ?>" style="color: white;">
Download</a></button>
   
<button class="btn btn-sm btn-primary"><a
href="upload_dms_file/delete_meeting_document.php?name=uploads_meeting_document/<?php echo $files[$a]; ?>" style="color: white;">
Delete
</a></button>
</td>
</tr>
<?php
} ?>
下面是我的删除代码,它成功删除了uploads_meeting_document文件夹中的文件,所以我的问题是如何删除位于uploads_filing_file中的文件的另一个副本(变量是$ files_2) 文件夹?
<?php
unlink($_GET["name"]);
// Redirecting back
header("Location: " . $_SERVER["HTTP_REFERER"]);
?>
下面是我的输出页面:
Output2
希望有人能指导我如何解决。这几天我一直在解决这些问题。谢谢
您可以像下面这样更改您的删除代码。
<?php
$folder1 = "uploads_meeting_document";
$folder2 = "uploads_filing_file";
$files = scandir($folder1);
$files_2 =scandir($folder2);
if(in_array($_GET["name"],$files)) {
unlink($folder1 . "/" . $_GET["name"]);
};
if(in_array($_GET["name"],$files_2 )) {
unlink($folder2 . "/" . $_GET["name"]);
};
// Redirecting back
header("Location: " . $_SERVER["HTTP_REFERER"]);
?>
首先获取两个文件夹中所有文件的列表,然后获取每个文件夹(如果文件夹中存在给定文件)然后取消链接。这将从两个文件夹中删除文件。