2015年12月10日

PHP ファイルへの書き込み

«
»


今回から「ファイルの操作」について書きたいと思います。
まずはイメージで捉えてみましょう。
 
PHP ファイル 書き込み データベース
 
計算結果や、ユーザーが入力したデータを保存しておきたい場合、
通常はデータベースというものを使ってデータを管理します。
 
データベースというとMySQLやOracleなどが有名なのですが、最もシンプルな
データベースといえばテキストファイルに保存することです。
 
みなさんがPCで何か文字を書いて保存する時に、「file.txt」という形式で
「テキストファイル(=.txt)」で保存することがあると思います。
 
ここでは、PHPから.txtファイルを作成し、データを保存してみたいと思います。
それではサンプルプログラムを見てみましょう。

<?php

/*
「test1.txt」というファイルを、
書き込みモード(= w )で作成します。

返り値としてファイルポインタ(= $fp)
というものを返します
*/
$fp = fopen("test1.txt", "w"); 

fwrite($fp , "testです。"); //ファイルに「testです。」と書き込みます。

fclose($fp);//ファイルを閉じます(≒保存)

実行結果

PHP ファイル 書き込み エラー

解説

実行結果を見てみると「Warning」=警告ということで、うまく行かなかったことがわかります。
 
エラーの内容を少し見てみると「fopen(test1.txt): failed to open stream: Permission denied」
ということで、ファイルを作成する時点で失敗しています。
また、それは「Permission denied」=「許可を拒否」ということで、
ファイルを作成する許可が無いことがわかります。
 
実はプログラムからPC内にファイルを作成するにはPC側で許可が必要なのです。
 
PHP ファイル 書き込み Permission denied
 
エラーの回避方法については次回書いていきたいと思います。

まとめ

・プログラムからファイルを作成することができる
・PC内にファイルを作成するにはPC側で許可が必要

【関連する記事】