2

ユーザーがサイトで送信するデータ ファイルは、次のようにフォーマットされます。

Text text text text text
text texttext text text
text text text text 

text text text text text 
text text text text 
text text text 

これらのファイルを読み取るためのphpスクリプトを開発している間、上記の例から配列を作成するfile_get_contents区切り文字を使用した後、ファイルをexplode()します。\n\n

しかし、ライブ サイトに移行し、ファイルを送信するためのフォームを開発している現在、この爆発手法は機能しなくなりました。

foreach ($_FILES['file']['tmp_name'] as $file) {
   $fname = file_get_contents($file);
   $rows = explode("\n\n", $fname);
   //do work
}

echo $row[0]最初の段落だけでなく、アップロードされたファイル全体が返される場合。$rows[1] は空です。ここで爆発が機能しないのはなぜですか?

4

2 に答える 2

3

行末を正規化してみてください:

$c = file_get_contents($file);
$c = str_replace(array("\r\n", "\n\r"), array("\n", "\n"), $c);
$rows = explode("\n\n", $c);
于 2012-09-06T08:11:59.320 に答える
0

これは、ローカル開発マシンとライブマシンの改行文字の違いによるものです。ターゲットマシンで正しい改行を使用します。

于 2012-09-06T08:10:38.327 に答える