PHP ディレクトリやファイル操作
ファイル操作
fopen('ファイル名', モード)|ファイルを指定したモードで開く |
//書き込みモード(上書き)でファイルを開く $ファイルポインタ変数名 = fopen('ファイル名', 'w'); //書き込みをして改行 ferite($ファイルポインタ変数, "hoge\n"); fclose($fp);
- モードについてはPHPサイトを参照 https://www.php.net/manual/ja/function.fopen.php
モード | 説明 |
---|---|
'r' | 読み込み |
'w' | 書き込み(上書き) |
'a' | 書き込み(追記) |
//読み込みモードでファイルを開く $ファイルポインタ変数名 = fopen('ファイル名', 'r'); //ファイルサイズ関数を使って内容を全て読み込み変数に代入 $変数 = fread($ファイルポインタ変数, filesize('ファイル名')); //ファイルの先頭から1行づつ読み込んで変数に代入 while (($変数 = fgets($ファイルポインタ変数)) !== false) { echo $変数; } fclose($fp); echo $変数;//1行づつ読み込むときはwhile文の中に記述しているのでここでは記述しない
ファイルにまとめて書き込む
$変数 = "ファイルに書き込む内容"; file_put_contents('ファイル名', $変数);
ファイルをまとめて表示 '''php $変数 = file_get_contents('ファイル名'); echo $変数;
ファイルの内容を1行づつ配列に格納して配列要素を表示
$配列名 = file('ファイル名', FILE_IGNORE_NEW_LINES);//改行を無視 var_dump($配列名);
# ディレクトリ操作
//ディレクトリを開いてディレクトリポインタ変数に代入 $ディレクトリポインタ変数 = opendir('ディレクトリ名'); //1行づつ読み込んで変数に代入 while *1 !== false) { //パスの「.」や「..」だったときはスキップ if $変数名 === '.' || $変数名 === '..') { continue; } echo $変数名; }
もっと簡略化
foreach (glob('ファイル名/*.拡張子') as $変数名) { //ディレクトリ名も一緒に表示 echo $変数名; //ファイル名のみ表示 echo basename($変数名); }
|関数|説明| | :--: | :--: | |file_exists('ディレクトリ名やファイル名')|ディレクトリやファイルがあるかどうかチェック(あればtrueなければfalse)| |is_writeable('ディレクトリ名やファイル名')|書き込みが可能かチェック| |is_readable('ディレクトリ名やファイル名')|読み込み可能かチェック|