chdir() 函数用于改变 PHP 的当前工作目录到指定的目录。
工作目录是 PHP 脚本执行时默认查找文件和包含文件的目录。使用该函数可以在运行时动态改变这个目录。
chdir(string $directory): bool
| 参数 | 描述 |
|---|---|
| directory |
必需。要改变到的新目录的路径。 可以是绝对路径或相对路径。如果是相对路径,将基于当前工作目录进行解析。 |
| 返回值 | 描述 |
|---|---|
| TRUE | 目录更改成功 |
| FALSE | 目录更改失败(目录不存在或没有权限) |
<?php
// 获取当前工作目录
echo "当前目录: " . getcwd() . "<br>";
// 改变到上级目录
if (chdir('..')) {
echo "目录更改成功<br>";
echo "新目录: " . getcwd();
} else {
echo "目录更改失败";
}
?>
<?php
// 改变到指定的绝对路径
if (chdir('/var/www/html')) {
echo "成功切换到: " . getcwd();
// 列出当前目录的文件
echo "<br>目录内容:<br>";
$files = scandir(getcwd());
foreach ($files as $file) {
echo $file . "<br>";
}
} else {
echo "无法切换到指定目录";
}
?>
<?php
// 尝试切换到不存在的目录
$newDir = '/path/to/nonexistent/directory';
if (chdir($newDir)) {
echo "目录更改成功";
} else {
// 获取错误信息
$error = error_get_last();
echo "错误: " . $error['message'] . "<br>";
echo "当前目录仍然是: " . getcwd();
}
?>
<?php
// 保存当前目录
$originalDir = getcwd();
echo "原始目录: $originalDir <br>";
// 改变到临时目录
chdir('/tmp');
echo "临时目录: " . getcwd() . "<br>";
// 执行一些操作
$tempFiles = glob('*');
echo "临时文件数量: " . count($tempFiles) . "<br>";
// 返回到原始目录
chdir($originalDir);
echo "返回后的目录: " . getcwd();
?>