PHP ディレクトリやファイル操作

ファイル操作

fopen('ファイル名', モード)|ファイルを指定したモードで開く
//書き込みモード(上書き)でファイルを開く
$ファイルポインタ変数名 = fopen('ファイル名', 'w');

//書き込みをして改行
ferite($ファイルポインタ変数, "hoge\n");

fclose($fp);
モード 説明
'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('ディレクトリ名やファイル名')|読み込み可能かチェック|

*1:$変数名 = readdir($ディレクトリポインタ変数