※ ChatGPTを利用し、要約された質問です(原文:phpでテキストファイルへ書き込み)
【解説付き】phpでテキストファイルへの書き込み方法とは?
このQ&Aのポイント
phpを使用してHTMLのテキストエリアに入力された内容をテキストファイルに保存する方法について解説します。
具体的には、画像上をクリックした時の座標値をテキストエリアに表示し、表示された座標値をテキストファイルに保存します。
しかし、書き込みができない場合もありますので、その原因と対処法についても説明します。
HTMLでのテキストエリアに記述された内容をPHPを利用して、テキストファイル化したいと考えています。
具体的には、画像上をクリックし、座標値(xとy)をテキストエリアに表示させます。
その表示された座標値をテキストファイルに保存したいと考えています。
以下がソースコードです。
----- sumple.php ------------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<SCRIPT type="text/javascript">
function xyget(e){
var box = document.getElementById("xy");
box.value += e.clientX + "\n" + e.clientY + "\n";
}
</SCRIPT>
</head>
<body>
<br>画像上をクリック<br>
<form name="picture">
<div><img src="sumple.jpg" onclick="xyget(event)" id="pic"></div>
<b>座標値</b>
<form action="sumple.php" method="POST">
<textarea name="xy" rows="5" cols="5"></textarea>
<input type="submit" value="完了">
</form>
<?php
$content = $_POST['xy'];
if ($content) {
$fp = fopen('sumple.txt', 'w');
fputs($fp, $content);
fclose($fp);
print "書き込み完了しました。";
}
?>
<br>
</body>
</html>
----------------------------------------------
テキストファイルはあらかじめ作成してあり、テキストエリアに座標値もちゃんと表示できています。
ですが、完了ボタンを押してもテキストファイルに書き込みがされず、困っています。
お願いします。
お礼
<form>閉じてないですね・・・。 気づかなかったです。 </form>を加えたら、無事書き込むことができました。 ありがとうございます。