例子
public function del(){
header("Content-Type: text/html; charset=UTF-8");
echo '點擊檔案名稱可以查看:<br>';
$dir =getcwd()."/html/";
//擷取某目錄下所有檔案、目錄名(不包括子目錄下檔案、目錄名)
$handler = opendir($dir);
while (($filename = readdir($handler)) !== false) {//務必使用!==,防止目錄下出現類似檔案名稱“0”等情況
if ($filename != "." && $filename != "..") {
$files[] = $filename ;
}
}
closedir($handler);
//列印所有檔案名稱
foreach ($files as $value) {
$url = 'http://'.$_SERVER['HTTP_HOST']."/html/".$value;
echo "<a href='".$url."' target='_blank'>".$value."</a> | <a href='/index.php?s=/Index1/dodel/name/".$value."' target='_self'>刪除</a><br />";
}
}
public function dodel(){
header("Content-Type: text/html; charset=UTF-8");
$fname = $this->_get("name");
$fname = getcwd()."/html/".$fname.".html";
if(unlink($fname)){
echo $fname.' 檔案刪除成功!<a href="javascript:history.go(-1);">返回</a>';
}else{
echo $fname.' 刪除失敗!<a href="javascript:history.go(-1);">返回</a>';
}
}
擷取目錄下所有檔案,包括子目錄
| 代碼如下 |
複製代碼 |
function get_allfiles($path,&$files) { if(is_dir($path)){ $dp = dir($path); while ($file = $dp ->read()){ if($file !="." && $file !=".."){ get_allfiles($path."/".$file, $files); } } $dp ->close(); } if(is_file($path)){ $files[] = $path; } } function get_filenamesbydir($dir){ $files = array(); get_allfiles($dir,$files); return $files; } $filenames = get_filenamesbydir("static/image/"); //列印所有檔案名稱,包括路徑 foreach ($filenames as $value) { echo $value."<br />"; } |
php刪除檔案夾及其檔案夾下所有檔案
| 代碼如下 |
複製代碼 |
function deldir($dir) { //先刪除目錄下的檔案: $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deldir($fullpath); } } } closedir($dh); //刪除當前檔案夾: if(rmdir($dir)) { return true; } else { return false; } } |