*

テキストファイルの読込みと書込み

公開日: : 最終更新日:2016/01/01 php , ,

今回は、textファイルを読み書きすることについて書きます。
なので、テキストファイルを扱います。
テキストファイルはh、テキストエディタで読み書きでできる
ファイルの事です。フォームを設置して、ユーザーにファイル名を
入力させ、ファイル名が送信されたら指定されたファイルを読み込みます。

サンプルコードの実行結果はこちら

ファイルは次の順序で処理します。
1.ファイルをオープンする
2.ファイルを読み込む又は書き込む
3.ファイルをクローズする

ファイル名のオープンはfopen()関数を使います。
この関数にはファイル名・オープンモードの2つの引数を渡します。
今回は読出しを行うモードで”r”を設定しています。

$fp = fopen($_POST[“title”] ,”r”);

fopen()関数に指定できるオープンモードには、
以下のようなものがあります。

オープンモード 意味
“w” 書き込み用にテキストファイルをオープン
“r” 読み込み用にテキストファイルをオープン
“a” 追記用にテキストファイルをオープン
“w+” 更新のため、書き込み用にテキストファイルをオープン
“r+” 更新のため、読み込み用にテキストファイルをオープン
“a+” 更新のため、追記用にテキストファイルをオープン

feof()関数を使うと、ファイルの終端を判別することができます。

そこにwhile文文を使い、fgets()関数で1行ずつ読み込みます。
サンプルコードだと、textareaタグ内に出力されるので、テキストエリア内に
ファイルの内容が表示されます。

while( !feof($fp) ){
echo fgets($fp);
}

最後に、fclose()関数でファイルをクローズします。
この処理を忘れると、不具合が起きることがあります。

fclose($fp);

ファイルをオープンするときに、file_exists()関数
使ってファイルが存在するかを判定しています。

関数名 戻り値 内容
file_exists(string $filename) boolean ファイルの存在を調べる
fopen(string $filename,string $mode) resource ファイルをオープンする
feof(resource $file) boolean ファイルが終端か調べる
fgets(resource $file) string ファイルから1行読み込む
fclose(resource $file) なし ファイルをクローズ

テキストファイルから1行読み込むにはfgets()関数を使う。

テキストファイルに書き込む

今回は、テキストファイルに文字列を書き込んでみましょう。

サンプルコードの実行結果はこちら




ファイル名:




ファイルを書き込む場合には、fopen()関数の2番目の
引数を”w”(書込み)とします。テキストボックスから送信された内容を、
fputs()関数で1行ずつ書き出しています。

関数名 戻り値 内容
fputs(resource $file) string ファイルに1行書き込む

テキストファイルに1行書き込むには、fputs()関数を使う。

ファイル名入力時の注意点

ファイル名をユーザーに入力させる場合には、
注意しなければならないことがあります。
重要なファイルを読み出したり、書き込まれたりしないように
注意しなければいけません。実際にこうしたファイルを名を
入力させるには、ファイル名を限定する必要があります。

スポンサードリンク

関連記事

catePhp

クラスの基本

関数と変数をまとめるクラス プログラムをたくさん組んで複雑なものとなると、効率よく プログラムを

記事を読む

catePhp

文字列操作とチェック

以前、クラスの中で年齢の値について、誤りがないように 値のチェックを行いました。プログラミングをし

記事を読む

catePhp

セキュリティ

ウェブアプリケーションは、セキュリティに注意しないといけません。 例えば、前回作成したメールのフォ

記事を読む

catePhp

記憶寿命

変数の記憶寿命 変数や配列はプログラムが開始してから終了するまで、 値を記憶しているわけではない

記事を読む

catePhp

SAXを使ってみる

DOMと並んでXML文書を扱う仕様として出てくるのが、 SAX(Simple API for XM

記事を読む

catePhp

XMLの仕組み

前回までに、テキストやCSVデータを扱い、色々なことに 試してきました。上記以外のデータにも利用す

記事を読む

catePhp

do~while文

前回は、while文を書きました。 今回は、do~while文を取り上げます。 この構文は、最後

記事を読む

catePhp

1文字の正規表現を使う

.(ピリオド)は、1文字を表すメタ文字です。 「P.P」というパターンは「PHP」にマッチします。

記事を読む

catePhp

if~else文で、判定結果で処理を分岐させる

前回の記事では、条件がtrueの時だけ、特定の処理をしましたが、 条件がfalseのときの場合、指

記事を読む

catePhp

メニューで選択したデータを送信する

タイトルの通りです。 サンプルコードの実行結果はこちら メニューから項目を選

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">



スポンサードリンク

jQueryMobile
トグルスイッチを設定する

トグルスイッチ(toggle switch)とは、〇型のつまみを左右に

jQueryMobile
項目選択の複数ウィジェットをグループ化する

年月日など、複数のリストから同時に選択したいとき、ウィジェットのグルー

jQueryMobile
<select>により項目選択

ボタンによる選択では、1つの項目だけ選択するか、複数を同時に選択するか

jQueryMobile
値を選択するボタンを表示する

値を選択するボタンは以下の2つがあります。 ・複数の値から1つだ

jQueryMobile
ボタンを設定する

前回の記事では<a data-role="button">

→もっと見る

  • スポンサーリンク

PAGE TOP ↑