【问题标题】:Delete files in folder with foreach loop使用 foreach 循环删除文件夹中的文件
【发布时间】:2015-04-05 10:37:08
【问题描述】:

在一个名为 docs.php 的文件中,我编写了以下代码来显示上传文件夹中的所有文件

foreach() 循环存储在网站视图中的所有文件,并有一个超链接可以在浏览器中打开它(在我的模型文件中,它仅限于 pds、png 或 jpg 文件)

我无法在 foreach() 循环中为每次迭代显示某种超链接(例如:删除我!),允许用户单击并仅从服务器中删除该特定文件,其他未点击的必须保持可见。

我在 forloop() 视图中的 php 代码是:

<?php
        $files=\yii\helpers\FileHelper::findFiles('uploads/', ['except'=>['*.DS_Store']]);
        if (isset($files[0])) {
            foreach ($files as $index => $file) {
                $nameFile = substr($file, strrpos($file, '/') + 1);
                echo Html::a($nameFile, Url::base().'/uploads/'.$nameFile) . "<br/>" . "<br/>" ; // render do ficheiro no browser
            }
        } else {
            echo "There are no files available for download.";
        }
    ?>

【问题讨论】:

  • 你能在不使用 foreach 循环的情况下删除这些文件吗?
  • 我不这么认为,因为我没有在我的数据库中创建 blob 文件。我只验证并保存上传文件夹中的文件,然后使用 foreach 循环遍历它们以显示在视图中。

标签: php file foreach yii2 delete-file


【解决方案1】:

我假设你有 FileHelper 的概念,但要删除文件,你必须使用 php 原生函数 unlink(filePath)。 unlink()

【讨论】:

  • 谢谢。我会看看我能用这个技巧做什么。
  • 现在它会删除文件夹中的所有文件,因为我的 unlink 函数是在 foreach 循环中使用的。
猜你喜欢
  • 2012-02-04
  • 1970-01-01
  • 2021-11-13
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 2021-10-23
  • 1970-01-01
相关资源
最近更新 更多