次のコードでは、$ outputは、各行の終わりに改行文字を含む、各804文字の長さの行の文字列です。各行の454の位置に「Y」があります。「はい」のように、それは単なる古い「Y」です。
$fh = fopen($filename_with_path,"w");
fwrite($fh,$output);
fclose($fh);
何らかの理由で、作成されたファイルを表示すると、出力全体が無傷であるように見えますが、位置454は空白であり、「Y」はどこにも見つかりません。
上記のコードの前または後にdie($ output)を設定でき、出力には「Y」が含まれます。スクリプトに$outputの内容を電子メールで送信してもらいましたが、それには「Y」が含まれていました。しかし、作成されたファイルを見ると(そして、スクリプトを実行するたびに新しく作成されていることを確認しました)、「Y」の代わりに空白があります。(「cat」を使用して、またメモ帳で開いたWebダウンロードとしてファイルシステム上のファイルを確認しましたが、「Y」はありません。
作成されたファイルに2行ある場合、長さは1608バイトです。これは、各行に804があるため、意味があります。したがって、これにより、Yが空白に置き換えられているように見えます。出力には、ファイル内で正常に表示される他のYがあります。
私はこれに完全に困惑しています。何か案は?
ありがとう!