少し前にサーバソフトXamppをPCに導入するとともに、ローカル環境にWordpressをインストールして動作確認を行いました。
このXamppには、PHPコードの実行環境も含まれていることから、Xamppが起動していれば、ローカル環境でもPHPコードを動かすことが可能です。
これまでPHPコードの実行は、Paizaioを用いてました。Paizaioでは、外部ファイルからのデータの読込みは可能な一方で、外部ファイルへのデータ出力はできなかったです。
今回、XamppによるローカルでのPHP実行環境を確保できたことで、外部ファイルからのデータの読込みだけでなく、外部ファイルへのデータの出力も可能になります。これで外部ファイルの読書き処理が含まれるPHPプログラムも動かせる。
Xamppを起動して、ローカル環境でPHPコードを実行。
ディレクトリ設定を変更していない場合、URL「http://localhost/」が、ディレクトリ「Xampp/htdocs/」に対応します。
ディレクトリXampp/htdocs/内にPHPコードで書かれたファイル(拡張子は.php)を置いた状態でXamppを起動し、ブラウザに「http://localhost/(サブディレクトリ/ファイル名)」と入力すると、該当する場所にあるPHPファイルが実行されます。なお、ファイル名がindex.phpの場合は、ファイル名を省略できます。
例えば、Xampp/htdocs/web/にあるsample.phpファイルを実行する場合は、ブラウザに「http://localhost/web/sample.php」と入力すればOKです。
動作確認として、背景色が水色のエリアに1~5までの数字を順番に表示させるPHPコードを、ブラウザで実行させた結果はこちらになります。
この処理のPHPコードはこちらです。
<?php
echo "<ul style = 'list-style: none;'>"."\n";
for ($i = 1; $i <= 5; $i++){
echo "<li style = 'color:#00008B;background:#F0FFF0;text-align:center;width:10%;border-bottom: 1px solid #ddddff;'>".$i."</li>";
}
echo "<ul>"."\n";
?>
特に問題もなく、ローカル環境で正常にPHPコードを実行できたので、動作確認についてはとりあえずはOKと言えます。
複数の外部ファイルから順番にデータを読み込んで処理し、結果を対応した出力用ファイルに書き込む。
ローカル環境でのPHPコードの動作確認が上手くいったので、次は外部ファイルを取り扱う処理を行います。
読込み用外部ファイル(in001.txt~in005.txt)には、それぞれ1~5の数字(ファイル名の下1桁と同じ)がデータとして書かれています。
これらの外部ファイルを順番に読み込んでデータを取り出して、「(データの数字):テスト」の文字列を生成。そして、生成した文字列を書込み用外部ファイル(out001.txt~out005.txt)に順番に書き込む処理を行います。
<?php
for ($i = 1; $i <= 5; $i++){
//ファイル名を設定。
$fileIn = 'in'.str_pad($i, 3, 0, STR_PAD_LEFT).'.txt';
$fileOut = 'out'.str_pad($i, 3, 0, STR_PAD_LEFT).'.txt';
//読込み用ファイルからデータを読み込んで文字列を生成。
$file1 = fopen($fileIn, "r");
$data = trim(fgets($file1));
$str = $data.":テスト"."\n";
fclose($file1);
//書込み用ファイルに文字列データを書き込む。
$file2 = fopen($fileOut, "w");
fwrite($file2, $str);
fclose($file2);
}
?>
初期状態のXampp/htdocs/Webディレクトリ。PHPコードが書かれたindex.phpファイルと、読込み用外部ファイル(in001.txt~in005.txt)があります。
処理が正常に行われると、書込み用外部ファイル(out001.txt~out005.txt)が新たに生成されてます。
out001.txtを開いてみると、「1:テスト」とデータが書き込まれています。
この結果から、複数の外部ファイルを用いたデータの読み書き処理を正常に行えたことになります。これにより、外部ファイルの読み書きを伴ったPHPプログラムも開発できる!