<html>
<head>
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp">
<title>Vine Linux 2.6 Apache,PHP,PostgreSQL CSV file output test(2)!</title>
</head>
<body>
<div align="right">
<form>
<input type="button" value="close" onclick="javascript:window.close();">
</form>
</div>
<?php
// csvdata関数
// コード変換:EUC_JP ==> SJIS
// a,"b ==> "a,""b"
function csvdata($in) {
return "\"".str_replace("\"","\"\"",mb_convert_encoding($in,"SJIS","auto"))."\"";
}
// table access
$mysql="select * from mytable order by code";
echo("SQL : ".$mysql."<br><br>");
$mycon=pg_connect("dbname=template1 user=guest password=guest");
$myrs=pg_query($mycon,$mysql);
$mydir="tmp/";
$myfilename="mytable2.csv";
$myfp=fopen($mydir.$myfilename,"w");
flock($myfp,2); //lock current csv file
$CRLF="\r\n"; //SJIS改行データ
$myrec="";
$myrec=$myrec.csvdata("コード").",";
$myrec=$myrec.csvdata("名称").",";
$myrec=$myrec.csvdata("コメント").$CRLF;
fputs($myfp,$myrec); //タイトル行出力
$myrows=pg_num_rows($myrs);
for ($i=0; $i<$myrows; $i++) {
$mydata=pg_fetch_row($myrs,$i);
$myrec="";
for ($j=0; $j<count($mydata); $j++) {
$myrec=$myrec.csvdata($mydata[$j]);
if ($j<count($mydata)-1) {
$myrec=$myrec.",";
} else {
$myrec=$myrec.$CRLF;
}
}
fputs($myfp,$myrec);
}
pg_free_result($myrs); //free result_set memory
pg_close($mycon);
flock($myfp,3); //unlock current csv file
fclose($myfp);
// CSVファイルへのリンク定義
echo("<br><br>");
echo("<a href=\"".$mydir.$myfilename."\">download CSV file</a>(SJIS)<br>");
?>
</body>
</html>