【问题标题】:Delete all images from folder except a original image in php从文件夹中删除所有图像,除了php中的原始图像
【发布时间】:2014-12-12 14:16:52
【问题描述】:

我想从“Logo”文件夹中删除除原始图像之外的所有图像。

例如。

demo.jpg - original image

demo_50.jpg, demo_100.jpg, demo_150.jpg - other images.

现在我想使用 php 删除除 demo.jpg 之外的所有图像

【问题讨论】:

  • 那么你的代码怎么样了?
  • 我知道使用 unlink() 删除单个图像。我不知道如何从指定文件夹中删除文件,除了原始图像。

标签: php image


【解决方案1】:

您可以在目录中维护不想删除的文件列表。

$dir = 'direcotry';
$keepFiles = array('demo.jpg');

foreach( glob("$dir/*") as $file ) {
    if( !in_array(basename($file), $keepFiles) )
        unlink($file);
}

另一个解决方案是,

1.将原始文件从当前目录X移动到另一个目录Y

2.删除完整目录X

3.现在将原始文件从 Y 移回 X

【讨论】:

  • 你能帮我解决另一个问题吗?
  • 使用德语命名图像(如 (Logo_FC_Bayern_München))上传图像时出错。如何解决。
  • move_uploaded_file($_FILES['document']["tmp_name"][$i],$clientFileUploadPath.$_FILES['document']["name"][$i]);跨度>
  • $_FILES['document']['tmp_name'] 包含上传的文件路径。如果您要上传具有数组结构的多个文件,那么您只需要使用 $_FILES['document']['tmp_name'][$i] 另一件事确保您要移动文件的目录具有适当的权限
  • 我使用 utf8_decode() 解决了这个问题。但这仅适用于本地机器而不是现场机器。你能帮我吗?我也达到了这个网站的最大问题限制。请尝试帮助队友。
【解决方案2】:

使用unlink:

 if( !in_array($file, $original) )//$file is total file in the directory
        unlink($file);

另请参阅此帖子:delete image from folder PHP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    相关资源
    最近更新 更多