使用PHP删除目录
除了使用scandir或opendir方法之外,还可以使用glob方法来实现,因为glob方法看起来更容易理解。
建议确认是否已在框架中实施。
/**
* 指定したディレクトリを削除する
*
* @param string $directory_path
* @return boolean
*/
public function remove_directory(string $directory_path): bool
{
if ( ! is_dir($directory_path))
{
return false;
}
foreach (glob($directory_path . '/{*,.[!.]*,..?*}', GLOB_BRACE) as $path)// .と..以外の隠しファイルも対象とする
{
if (is_file($path))
{
if ( ! unlink($path))
{
return false;
}
}
elseif (is_dir($path))
{
if ($this->remove_directory($path) === false)
{
return false;
}
}
}
return rmdir($directory_path);
}
在搜索文件时,glob非常方便。
$txt_file_list = glob('document/*.txt');
使用exec()函数结合rm命令可以更轻松地在单行中实现删除操作,我认为这样更方便。同样地,对于复制操作,使用cp命令也能带来相似的便利。
# 削除
rm -rf name
# コピー
cp -arf source dest