[PHP-users 5301] Re: アップロードしたファイルからpg_put_line を利用してのDB挿入。
mots
php-users@php.gr.jp
Fri, 8 Feb 2002 13:43:13 +0900
昨日、他の方から個人宛てにメールを頂戴致しまして、
その改行コードでは?とのご指摘に、再挑戦を致しました。
以下、変更コードです。
> foreach($file as $line) {
$tmp = explode(",", $line);
$a=ereg_replace("\n","",$tmp[1]);
//$a=rtrim($tmp[1]);
$a = $tmp[0]."\t".$tmp[1]."\t".$b."\n";
pg_put_line($con, $a);
> }
printf関係の使用を止め、
ereg_replaceやrtrimで改行があると思われる要素から\nを外したのですが、
結果は×でした。10行生成されてしまいます。
DBのテーブル上は、[5297]と同じ結果になりました。
何か他に調査すべき点がございましたら、ご教示頂ければと思います。
> データ末尾の改行コードの処理はされてますか?
>
> 以下のコードを実行すると
> <pre>
> <?
> $b = "1013070721";
> $line = "10,20\n";
> $tmp = explode(",", $line);
> printf("%d\t%d\t%d\n", $tmp[0], $tmp[1], $b); // #1
> printf("%s\t%s\t%d\n", $tmp[0], $tmp[1], $b); // #2
> ?>
> </pre>
>
>
> ブラウザ上には
>
> 10 20 1013070721
> 10 20
> 1013070721
>
> と表示されます。
> ご参考まで。