[PHP]ファイルの読み込み・書き込み

PHPから外部ファイルに対して
内容を読み込んだり、書き込んだりする方法です。

ファイルの内容をまとめて読み込む

<?php
	$fileStr = file_get_contents( "file_path" );
?>

解説

指定したファイルの内容を
まとめて取得出来ます。

取得に成功した場合は
内容をString型に保持し、
取得に失敗した場合は
falseの値を保持します。

ファイルの内容を1行づつ読み込む①

<?php
	$fileAry= file( "file_path" );
?>

解説

指定したファイルの内容を
1行づつ取得します。

取得に成功した場合は
1行づつ配列に格納し、
取得に失敗した場合は
falseの値を保持します。

ファイルの内容を1行づつ読み込む②

<?php
	$fp = fopen( "file_path" , 'r' );

	if( $fp ) {
		// ファイルをロック
		if( flock( $fp , LOCK_SH ) ) {
			while( !feof( $fp ) ) {
				$buffer = fgets( $fp );
				print( $buffer );
			}
			flock( $fp , LOCK_UN );
		}
		else{
			// ファイルのロックに失敗した時の処理
		}
	}
?>

解説

指定したファイルの内容を
1行づつ取得します。

最初に関数[fopen]を利用し、
対象ファイルのポインタを生成します。

別プログラムから編集されないように
ファイルをロックします。

関数[feof]はファイルは対象にポインタが
EOF(File of End)、ファイルの終端に
達した時のみTRUEを返します。

関数[fgets]でファイルのラインを取得します。

ファイルに書き込み(上書き)

<?php
	$fp = fopen( "file_path" , 'w' );

	if( $fp ) {
		// ファイルをロック
		if( flock( $fp , LOCK_SH ) ) {
			fwrite( $fp , "Write Text..." )
			flock( $fp , LOCK_UN );
		}
		else{
			// ファイルのロックに失敗した時の処理
		}
	}
?>

解説

指定したファイルの内容を上書きします。

最初に関数[fopen]を利用し、
対象ファイルのポインタを生成します。

別プログラムから編集されないように
ファイルをロックします。

関数[fwrite]でファイルに上書きします。
※成功時はTRUE、失敗時はFALSEを返します。

ファイルに書き込み(追記)

<?php
	$fp = fopen( "file_path" , 'a+' );

	if( $fp ) {
		// ファイルをロック
		if( flock( $fp , LOCK_SH ) ) {
			fwrite( $fp , "Write Text..." )
			flock( $fp , LOCK_UN );
		}
		else{
			// ファイルのロックに失敗した時の処理
		}
	}
?>

解説

指定したファイルに追記を行います。

最初に関数[fopen]を利用し、
対象ファイルのポインタを生成します。

別プログラムから編集されないように
ファイルをロックします。

関数[fwrite]でファイルに追記します。
※成功時はTRUE、失敗時はFALSEを返します。


This entry was posted in: PHP. Bookmark the ➜ permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)