PHP取消链接没有结尾(.jpg,.gif)

时间:2016-02-18 13:39:17

标签: php

我有这段代码:

<?php
$filename = $_POST['showDeleteNummer'];
  if (file_exists("../Images/".$filename)) {
    @unlink($filename);
    echo('ja');
  }
  else{
    echo ('nein');
  }
?>

问题是,我不知道文件的结尾(.jpg,.png,.gif)。是否有用于删除文件夹中具有特殊名称(没有结尾)的文件的代码? 将不会有另一个具有相同名称的文件。

2 个答案:

答案 0 :(得分:3)

Franz Gleichmanns的答案是一个解决方案,但如果扩展名为.pdf或.doc?最好将glob()与此解决方案的模式一起使用(http://php.net/manual/de/function.glob.php)。

$name = '/path/to/file/with/name';
$files = glob($name . '*');
var_dump($files);

这应该为您提供所有可用于所有不同扩展名的文件的数组。然后你可以迭代它们删除它们。

编辑:使用此代码段,您可以告诉glob哪个文件应该搜索或屏蔽。

$name = '/path/to/file/with/name';
$files = glob($name . '*.{jpg,png,gif}', GLOB_BRACE);
var_dump($files);

答案 1 :(得分:1)

只要查看文件是否实际存在于首位,就应该进行设置。

$name = "picture";
if(file_exists("$name.png")) {
     unlink("$name.png");
}elseif(file_exists("$name.gif")) {
     unlink("$name.gif");
} elseif(file_exists("$name.jpg")) {
     unlink("$name.jpg");
}