我试图用PHP删除文件夹的内容。此文件夹包含子文件夹和文件。我想删除除根文件夹以外的所有内容。
例如:
FolderFather
--Folderchild1
--FolChild2
----SubFolChild2
------Anotherfile.jpg
--MyFile.jpg
我想删除除根目录文件夹以外的所有文件夹。
答案 0 :(得分:2)
喜欢的东西
function empty_dir($directory, $delete = false)
{
$contents = glob($directory . '*');
foreach($contents as $item)
{
if (is_dir($item))
empty_dir($item . '/', true);
else
unlink($item);
}
if ($delete === true)
rmdir($directory);
}
应该有用。
E.g。 empty_dir('/some/path/');
应清空该目录而不删除,
empty_dir('/some/path/', true);
应该清空而不是删除目录。
答案 1 :(得分:0)
尝试:
function deleteAll($path)
{
$dir = dir($path);
while ($file = $dir->read())
{
if ($file == '.' || $file == '..') continue;
$file = $path . '/' . $file;
if (is_dir($file))
{
deleteAll($file);
rmdir($file);
}
else
{
unlink($file);
}
}
}
调用deleteAll('/path/to/FolderFather');
应该按预期工作。
答案 2 :(得分:0)
您可以将scandir()
用于目录内容,使用unlink()
来删除内容。
<?php
$dir = "/yourfolder";
$dir_contents = scandir($dir);
foreach($dir_contents as $content)
{
unlink($dir.'/'.$content);
}
答案 3 :(得分:0)
$contents = glob('path/*'); // to get all the contents
foreach ($contents as $file) { // loop the files
if (is_file($file)) {
unlink($file); //------- delete the file
}
}