<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// PHP 脚本前置无关部分</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"这是一些前置输出内容,与文章内容无关。\n"</span></span><span>;
</span><span><span class="hljs-variable">$foo</span></span><span> = </span><span><span class="hljs-number">123</span></span><span>;
</span><span><span class="hljs-variable">$bar</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span>];
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
<span class="hljs-comment">/**
* chdir() 函数怎么用来更改 PHP 中的当前工作目录?完整示例解读
*
* 在 PHP 中,chdir() 函数用于更改当前工作目录(Current Working Directory,CWD)。
* 当前工作目录是 PHP 脚本操作文件时默认的路径,如果不指定绝对路径,
* 文件操作会基于当前工作目录进行。
*
* 函数原型:
* bool chdir(string $directory)
*
* 参数:
* $directory - 目标目录的路径,可以是相对路径也可以是绝对路径。
*
* 返回值:
* 成功返回 true,失败返回 false。
*
* 注意:
* 1. 如果指定的目录不存在,会返回 false。
* 2. 如果 PHP 没有权限访问该目录,也会失败。
*/</span>
</span><span><span class="hljs-comment">// 示例 1:切换到指定目录</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"示例 1:切换到指定目录\n"</span></span><span>;
</span><span><span class="hljs-variable">$targetDir</span></span><span> = </span><span><span class="hljs-string">"/tmp"</span></span><span>; </span><span><span class="hljs-comment">// 你系统上存在的目录</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$targetDir</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"当前工作目录已更改为: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"目录切换失败,请检查路径是否存在或权限。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// 示例 2:使用相对路径</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n示例 2:使用相对路径\n"</span></span><span>;
</span><span><span class="hljs-variable">$currentDir</span></span><span> = </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"当前目录: <span class="hljs-subst">$currentDir</span></span></span><span>\n";
</span><span><span class="hljs-variable">$relativePath</span></span><span> = </span><span><span class="hljs-string">"../"</span></span><span>; </span><span><span class="hljs-comment">// 上级目录</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$relativePath</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"切换到上级目录后: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"相对路径切换失败。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// 示例 3:结合文件操作</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n示例 3:结合文件操作\n"</span></span><span>;
</span><span><span class="hljs-variable">$newDir</span></span><span> = </span><span><span class="hljs-keyword">__DIR__</span></span><span> . </span><span><span class="hljs-string">"/testdir"</span></span><span>; </span><span><span class="hljs-comment">// 假设存在一个 testdir</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">file_exists</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">mkdir</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>, </span><span><span class="hljs-number">0777</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
}
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">chdir</span></span><span>(</span><span><span class="hljs-variable">$newDir</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">file_put_contents</span></span><span>(</span><span><span class="hljs-string">"example.txt"</span></span><span>, </span><span><span class="hljs-string">"这是一个示例文件,存放在新工作目录。\n"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"文件已创建在: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">getcwd</span></span><span>() . </span><span><span class="hljs-string">"/example.txt\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"无法切换到新目录创建文件。\n"</span></span><span>;
}
</span><span><span class="hljs-comment">// 总结</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n总结:\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"1. chdir() 用于修改 PHP 脚本的当前工作目录。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"2. 使用 getcwd() 可以获取当前工作目录。\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"3. 在进行文件读写时,可以结合 chdir() 使用相对路径,方便管理文件结构。\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>