多言語サイトには、php 定数を含む 2 つの php ファイルがあります。
お気に入り
define('メール', '電子メール');
define('性別', '性別'); . .
.
フォームのテキストエリアを使用して、管理者側からこれらのファイルを編集できます。ファイル全体をテキストエリアに出力します。管理者がファイルを更新すると、リダイレクトの問題が発生します。これは、このファイルの header() 関数を含めると、上記の非空白文字の報告に失敗したことを意味します。
編集後にphpファイルを確認したところ、次のように各phpステートメントの間に余分なスペースがたくさん含まれています。
define('メール', '電子メール');
define('性別', '性別');
define('名前', '名前');
また、長い 1 行が複数の行に分割されます。
define('SENTENCE', 'これは、私が指摘したように、テキスト領域の幅に応じて多くの行に分割される長い文です');
したがって、これも1行である必要があるため、エラーに寄与します
これらの余分なスペースと改行がすべての問題の原因であると確信しています。テキストエリア間の印刷にこのコードを使用しています:
<textarea style="width: 664px; height: 353px;" id="edit_file" name="edit_file"><?php
$file = fopen("../en.php", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file);
}
fclose($file);
?> </textarea>
ファイルを保存する場合:
if(isset($_POST['btn']) && $_SERVER['REQUEST_METHOD']=='POST' && !empty($_POST['btn'])){
if (get_magic_quotes_gpc()) {
$filedata = stripslashes($_POST['edit_file']);
}
$filedata=str_replace(array("<br />'",'\n'),array("",''),$filedata);
$size=strlen($filedata);
$file = fopen("../en.php", "w") or exit("Unable to open file!");
fwrite($file,"$filedata",$size);
fclose($file);
}