バックスラッシュを含むテキストの入力に問題があります。これは、前のフォームから POST メッセージ (メッセージ) を取得したためです。とにかくこの問題を回避する方法はありますか? 私の魔法の引用符が有効になっています。
<?php
$filename = 'test.txt';
$somecontent = $_POST['message'];
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'w')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
結果:
Message= Jo\hn, POST result : Jo\\hn. Output: Jo\hn
期待される:
Message = Jo\hn, POST result : Jo\\hn, Output : Jo\\hn
出力は、元のメッセージ自体ではなく、POST Result と同じでなければなりません。