例如,我有一个名为“Temp”的文件夹,我想使用PHP删除或刷新该文件夹中的所有文件。我可以这样做吗?
当前回答
另一个解决方案: 该类删除所有文件、子目录和子目录中的文件。
class Your_Class_Name {
/**
* @see http://php.net/manual/de/function.array-map.php
* @see http://www.php.net/manual/en/function.rmdir.php
* @see http://www.php.net/manual/en/function.glob.php
* @see http://php.net/manual/de/function.unlink.php
* @param string $path
*/
public function delete($path) {
if (is_dir($path)) {
array_map(function($value) {
$this->delete($value);
rmdir($value);
},glob($path . '/*', GLOB_ONLYDIR));
array_map('unlink', glob($path."/*"));
}
}
}
其他回答
<?
//delete all files from folder & sub folders
function listFolderFiles($dir)
{
$ffs = scandir($dir);
echo '<ol>';
foreach ($ffs as $ff) {
if ($ff != '.' && $ff != '..') {
if (file_exists("$dir/$ff")) {
unlink("$dir/$ff");
}
echo '<li>' . $ff;
if (is_dir($dir . '/' . $ff)) {
listFolderFiles($dir . '/' . $ff);
}
echo '</li>';
}
}
echo '</ol>';
}
$arr = array(
"folder1",
"folder2"
);
for ($x = 0; $x < count($arr); $x++) {
$mm = $arr[$x];
listFolderFiles($mm);
}
//end
?>
假设你有一个有很多文件的文件夹,读取它们,然后在两步删除不是执行。 我相信删除文件最有效的方法就是使用系统命令。
例如,在linux上我使用:
exec('rm -f '. $absolutePathToFolder .'*');
如果你想要递归删除而不需要写递归函数
exec('rm -f -r '. $absolutePathToFolder .'*');
PHP支持的任何操作系统都可以使用相同的命令。 请记住,这是一种删除文件的执行方式。$absolutePathToFolder必须检查和安全运行此代码和权限必须被授予。
在PHP中删除文件夹中的所有文件的简单和最好的方法
$files = glob('my_folder/*'); //get all file names
foreach($files as $file){
if(is_file($file))
unlink($file); //delete file
}
从这里得到这个源代码- http://www.codexworld.com/delete-all-files-from-folder-using-php/
$dir = 'your/directory/';
foreach(glob($dir.'*.*') as $v){
unlink($v);
}
发布了一个通用的文件和文件夹处理类,用于复制,移动,删除,计算大小等,可以处理单个文件或一组文件夹。
https://gist.github.com/4689551
使用方法:
复制(或移动)一个文件或一组文件夹/文件:
$files = new Files();
$results = $files->copyOrMove('source/folder/optional-file', 'target/path', 'target-file-name-for-single-file.only', 'copy');
删除单个文件或删除路径下的所有文件和文件夹:
$files = new Files();
$results = $files->delete('source/folder/optional-file.name');
计算单个文件或一组文件夹中文件的大小:
$files = new Files();
$results = $files->calculateSize('source/folder/optional-file.name');