7Jul
PHPでサーバー上にファイルを新規作成して、データを追記保存する処置の備考録
PHPを使い始めて最初に組んだプログラム。今のところ不都合を感じていないので、今後もこの手法を使っていくつもり。
保存先ディレクトリ 確認・作成
1 2 3 4 5 6 7 8 9 10 |
// 保存先ディレクトリの指定 // 非WEB領域に作成してブラウザでアクセスできない場所を指定 $log_file_dir = "data" ; // 上記ディレクトリの有無を確認し、無ければ新規作成 if(!is_dir($log_file_dir)) { mkdir($log_file_dir,0777) ; // 書込が出来るようにパーミッションを変更(念のため2回目) chmod($log_file_dir,0777) ; } |
保存先ファイル 確認・作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
// 保存先ファイルの指定 $log_file = $log_file_dir."/sample.txt" ; // 上記ファイルの有無を確認し、無ければ新規作成 if(!file_exists($log_file)) { $MST = fopen($log_file,"w") ; flock($MST,2) ; fputs($MST,"") ; fclose($MST) ; // 書込が出来るようにパーミッションを変更 chmod($log_file,0777) ; } // 上記ファイルを開き、ファイルポインタを最後尾に移動 $LOG = fopen($log_file, "a+") ; // ファイルが開けなければエラー扱いで終了 if($LOG != true ) { echo"File Open Error." ; exit ; } // 保存する内容を作成 $data = "Sample Text." ; // ファイルに書込処理 if(!flock($LOG,2)) { flock($LOG,2) ; } $RET = fputs($LOG,"$data\n") ; // 念のため2重処理 if($RET != true) { fputs($LOG,"$data\n") ; } // ファイルを閉じて終了 fclose($LOG) ; |
How to save files on PHP Program.