PHP | rmdir 函數
怎樣刪除目錄
最近更新時間 2021-01-20 09:48:45
rmdir 函數刪除目錄。
rmdir() 函數嘗試刪除 dirname 所指定的目錄。該目錄必須為空,需要有相應的權限。失敗時會拋出警告。
函數定義
rmdir ( string $dirname , resource $context = ? ) : bool
// 源文件位於:ext/standard/file.c
# 函數定義
PHP_FUNCTION(rmdir)
{
char *dir;
size_t dir_len;
zval *zcontext = NULL;
php_stream_context *context;
ZEND_PARSE_PARAMETERS_START(1, 2)
Z_PARAM_PATH(dir, dir_len)
Z_PARAM_OPTIONAL
Z_PARAM_RESOURCE_OR_NULL(zcontext)
ZEND_PARSE_PARAMETERS_END();
context = php_stream_context_from_zval(zcontext, 0);
RETURN_BOOL(php_stream_rmdir(dir, REPORT_ERRORS, context));
}
參數
- checkdirname - 目錄的路徑。
返回值
- checkbool - 成功時返回 true,失敗時返回 false。
示例1: - 使用 rmdir() 函數刪除目錄。
<?php
/**
* PHP rmdir() 函數刪除目錄。
*
* @since Version 1.0.0
* @filesource
*/
// 刪除目錄
rmdir("foo");
示例2: - 遞歸刪除目錄樹。
<?php
/**
* PHP 遞歸刪除目錄樹。
*
* @since Version 1.0.0
* @filesource
*/
function delTree($dir) {
// 獲取路徑下的所有目錄
$dirs = array_diff(scandir($dir), array('.', '..'));
// 刪除文件或目錄
foreach ($dirs as $file) {
$filename = $dir.DIRECTORY_SEPARATOR.$file;
is_dir($filename)?delTree($filename): unlink($filename);
}
// 刪除目錄
return rmdir($dir);
}
// 測試
// delTree('foo');