0

ここにあるテキスト ファイルを読み込もうとしています: http://www1.m2.mediacat.ne.jp/binews/use/bia13.txt

これは、MySQL データベースに入れたい短波ラジオ放送スケジュールのタブ区切りリストです。ダウンロードして配列に入れることができます。var_dump は、すべてがそこにあることを示しています。でも...

$schedule=file('schedule.txt');
foreach($schedule as $line)
{
   echo $line.'<br>';
}

ファイルの最後の行のみを表示します。

for ($i; $i<=count($schedule);$i++)
{
   echo $schedule[$i];
}

Apache 500 内部サーバー エラー (スクリプト ヘッダーの早期終了) を生成します。

しかし、私がこれを行うと:

echo $schedule[0];

その行を正しく表示します。

したがって、配列のどこかに、印刷できない文字または制御文字があり、Apache に適合していると想定しています。

私はやった:

$bigstring=json_encode($schedule);
$schedule=$json_decode($bigstring);

これにより、$schedule で foreach を実行でき、それを出力できます

そして、私はforeachで次のことを試みました:

echo utf8_decode($line).'<br>';

これで foreach を実行でき、行が表示されますが、これらの「機能する」ソリューションは両方とも、行をフィールドに分割するために必要なタブ/スペースを取り除きます。

これを配列に別の方法でロードして foreach を実行して解析する方法、またはクラッシュ/しゃっくりを引き起こしている可能性のある制御/文字コードを示す良い方法はありますか?

ありがとう

4

2 に答える 2

0

コードに問題はないと思います。Apache サーバー構成でサポートされていない設定またはトリガー アクションが原因である可能性があります。

htaccessファイルを編集する必要があります。

https://www.dokuwiki.org/faq:error500

于 2013-08-01T15:21:04.673 に答える