<EXCEL>
当サイトの情報をご利用になる場合は、全て自己責任でお願いします |
| 第15号 2005/12/25 |
<PHP編>
batファイルでPHPファイルを実行してデータをTEXTファイルで出力する方法を
紹介させて頂きます。これにより、batファイルをダブルクリックするだけでPHP
ファイルが実行されて結果が出力されます。
また、このbatファイルをWindowsのタスクに登録すれば、決められた時間に自
動的に実行することもできます。batファイルをWar FTPと連動させればデータフ
ァイルを受け取ったことを合図にbatファイルを実行することができるので、もら
ったデータを自動的にすぐに処理することができます。
PHPファイルを実行するbatファイルの名前をsample.batとします。
実行されるPHPファイルの名前をsample01.phpとします。
<sample.batの内容>
c:\php\cli\php.exe c:\sample01.php > c:\sample01.log
のたった1行です。
最初の“c:\php\cli\php.exe”は、phpの実行ファイルです。PHPのバージョンに
よって場所が違う場合がありますので注意が必要です。
次の“c:\sample01.php”が実行されるPHPファイルです。
次の“ > c:\sample01.log”はPHPを実行したときの内容を書き出すファイルを
指定しています。エラーが起きた場合の確認がやりやすくなります。無くても
PHPの実行に支障は有りません。
sample01.phpは、http://www.sing-ken-ken.com/data_shori/s02.htmのsample.php
をもとに作成してみます。
<sample01.phpの内容>緑色の部分が変更部分です。
<?php
$con = mysql_connect("localhost","ユーザー名","パスワード");
mysql_select_db("データベース名", $con);
$j="";
if($c!=""){
$j=" WHERE chiku='$c'";
}
$sql = "SELECT max(ymd), sum(kingaku)
FROM uriage".$j."GROUP BY LEFT(ymd,7)";
$rs = mysql_query($sql, $con);
$n = mysql_numrows($rs);
$m = mysql_numfields($rs);
mysql_close($con);
$f=fopen('c:/sample01.txt',"w");
for ($i=0; $i<$n; $i++) {
$itigyou="";
for ($j=0; $j<$m; $j++) {
$itigyou .= mysql_result($rs,$i,$j)."\t";
}
$itigyou .= "\n\r";
fputs($f,$itigyou);
}
fclose($f);
?>
fopen で出力するファイルを作成します。
fputs で書き込みます。
fclose で書き込んだファイルを閉じます。
以上で完成です。このファイルをExcelやAccessで取り込めばデータとして活用で
きます。
************************************************************************
<編集後記>
今回は、batファイルでPHPファイルを実行してデータをTEXTファイルで出力す
る方法を説明させていただきました。
一度作成すると、PHPファイルの内容を変更する事で様々なデータを取り出す
ことが出来るので非常に便利です。
次回は、PHPファイルを使ってFTP転送でデータを取り込む方法を紹介させて頂
きます。
************************************************************************
|
|