現在の位置: ホーム> 最新記事一覧> chdir()関数を使用してPHPの現在の作業ディレクトリを変更する方法は?完全な例の解釈

chdir()関数を使用してPHPの現在の作業ディレクトリを変更する方法は?完全な例の解釈

gitbox 2025-10-01
<span><span><span class="hljs-meta">&lt;?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">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?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">?&gt;</span></span><span>
</span></span>