[PHP-users 18539]Re: fgetcsvでcsvの一行目だけを別処理したい

UNO Shintaro uno @ venus.dti.ne.jp
2003年 10月 22日 (水) 13:14:51 JST


>csvの1行目だけを、<TH>タグで処理をしたいと考えています。
>
>csv.php がファイル選択画面として、
>1行目を<TH>タグで処理したい場合には、変数th_onを握って
>csv2.phpで処理するという簡単なものです。

その「変数th_onを握って」というのが意味不明ですけれど、
提示されたソースに書いてある条件式が合ってるんであれば、
こんな感じ↓にすればいいのでは。


//1行目のタグを指定
if ($th == 'th_on') {
    $tabColTag='TH';
}else{
    $tabColTag='TD';
}
while ($data = fgetcsv($fHandle, 10000)) {
	print "<TR>\n";
	foreach ($data as $d) {
		print "<".$tabColTag.">".$d."</".$tabColTag.">";
	}
	print "</TR>\n";
	//2行目以降のタグを指定
	$tabColTag='TD';
以下略


蛇足
$dをそのままprintするのは用途によってはまずいと思います。
(例:CSVデータにscriptタグを入れたら、それがブラウザ上で実行されて
しまう。)htmlspecialcharsとかが必要じゃないのかなあ。

-- 
UNO Shintaro, 宇野 信太郎
mailto:uno @ venus.dti.ne.jp
http://www.venus.dti.ne.jp/~uno/


PHP-users メーリングリストの案内