[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
>
> と表示されます。
> ご参考まで。