我有这个代码:
<?php
$filename = $_POST['showDeleteNummer'];
if (file_exists("../Images/".$filename)) {
@unlink($filename);
echo('ja');
}
else{
echo ('nein');
}
?>
问题是,我不知道文件的结尾(.jpg、.png、.gif)。是否有用于删除文件夹中具有特殊名称(不带结尾)的文件的代码?不会有另一个同名文件。
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);
只需首先查看文件是否确实存在,您应该进行设置。
$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");
}