まぐまぐ!メルマガ<素人でもできたデータ処理の技>
戻る
 第1号 2005/04/17
 第2号 2005/05/06
 第3号 2005/05/15
 第4号 2005/05/24
 第5号 2005/06/13
 第6号 2005/07/03
 第7号 2005/07/18
 第8号 2005/08/17
 第9号 2005/08/18
 第10号 2005/08/22
 第11号 2005/09/10
 第12号 2005/09/13
 第13号 2005/09/28
 第14号 2005/11/04
 第15号 2005/12/25
 第16号 2006/04/19
 第17号 2006/04/26

<EXCEL>
 1.ピボットテーブル
 2.ピボットテーブルのエラー対処方法

当サイトの情報をご利用になる場合は、全て自己責任でお願いします
第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転送でデータを取り込む方法を紹介させて頂
きます。

************************************************************************
Copyright©2004 Sing-Ken-Ken.com All Right Reserved. info@sing-ken-ken.com