<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>