【PHP8.x】chdir関数の使い方
作成日: 更新日:
chdir関数は、現在のPHPスクリプトの作業ディレクトリを変更する関数です。この関数を使用すると、スクリプトがファイルシステムとやり取りする際の基準となるディレクトリを、指定したパスに切り替えることができます。例えば、fopen()
やopendir()
といったファイル操作関数で相対パスを使用する場合、そのパスはchdir()
で設定された現在の作業ディレクトリを基準に解決されます。
chdir()
関数は、変更したい新しいディレクトリのパスを文字列として引数に一つ取ります。このパスは絶対パスでも相対パスでも指定可能です。作業ディレクトリの変更に成功した場合、関数はtrue
を返します。しかし、指定されたパスが存在しない、ディレクトリではない、またはアクセス権が不足しているなどの理由で変更に失敗した場合は、false
を返し、PHPは通常、警告を発します。
複数のディレクトリにあるファイルを処理する場合や、特定のディレクトリ内で一連のファイル操作を行う場合に非常に役立ちます。ただし、相対パスを用いたファイル操作の挙動に直接影響を与えるため、スクリプトの実行フローを注意深く考慮して使用することが重要です。特に、セキュリティの観点から、ユーザーからの入力値を直接パスとして使用する際は、意図しないディレクトリへの移動を防ぐための厳格な検証が不可欠となります。
基本的な使い方
構文(syntax)
<?php
$targetDirectory = '/tmp'; // 変更したいディレクトリのパスを指定
if (chdir($targetDirectory)) {
echo "現在の作業ディレクトリ: " . getcwd() . "\n";
} else {
echo "ディレクトリの変更に失敗しました: " . $targetDirectory . "\n";
}
?>
引数(parameters)
string $directory
- string $directory: 移動先のディレクトリパスを指定する文字列
戻り値(return)
bool
指定されたディレクトリへの移動に成功した場合は true
、失敗した場合は false
を返します。