如何删除 php 中具有此类扩展名的文件?
How to delete a file which have such type of extensions in php?
我想做的是删除仅包含此类扩展名的文件。
假设文件夹 Images/
包含以下文件,
a.jpg
b.jpeg
c.php
d.php2
c.png
所以现在我只想删除那些 c.php,d.php2
。有什么方法可以一步完成吗?
注意:在这种情况下,我不知道文件或扩展名[=27]的确切名称=].
提前致谢。
要从子目录中删除特定的扩展文件,您可以使用以下功能。示例:
<?php
function delete_recursively_($path,$match){
static $deleted = 0,
$dsize = 0;
$dirs = glob($path."*");
$files = glob($path.$match);
foreach($files as $file){
if(is_file($file)){
$deleted_size += filesize($file);
unlink($file);
$deleted++;
}
}
foreach($dirs as $dir){
if(is_dir($dir)){
$dir = basename($dir) . "/";
delete_recursively_($path.$dir,$match);
}
}
return "$deleted files deleted with a total size of $deleted_size bytes";
}
?>
例如要删除所有文本文件,您可以按如下方式使用它:
<?php echo delete_recursively_('/home/username/directory/', '.txt'); ?>
我想做的是删除仅包含此类扩展名的文件。
假设文件夹 Images/
包含以下文件,
a.jpg
b.jpeg
c.php
d.php2
c.png
所以现在我只想删除那些 c.php,d.php2
。有什么方法可以一步完成吗?
注意:在这种情况下,我不知道文件或扩展名[=27]的确切名称=].
提前致谢。
要从子目录中删除特定的扩展文件,您可以使用以下功能。示例:
<?php
function delete_recursively_($path,$match){
static $deleted = 0,
$dsize = 0;
$dirs = glob($path."*");
$files = glob($path.$match);
foreach($files as $file){
if(is_file($file)){
$deleted_size += filesize($file);
unlink($file);
$deleted++;
}
}
foreach($dirs as $dir){
if(is_dir($dir)){
$dir = basename($dir) . "/";
delete_recursively_($path.$dir,$match);
}
}
return "$deleted files deleted with a total size of $deleted_size bytes";
}
?>
例如要删除所有文本文件,您可以按如下方式使用它:
<?php echo delete_recursively_('/home/username/directory/', '.txt'); ?>