[PHP-users 28790] サーバー上のテキストファイル編集

php@nakata.mydns.jp php @ nakata.mydns.jp
2006年 3月 23日 (木) 17:21:59 JST


お世話になります。
プログラムを書いている内に困っている事が出てきてしまい皆様の知恵を貸してもら
いたいです

サーバー上のテキストファイルを編集できるPHPを作成しているのですが
下のサンプルのように作ると正常に作動しません。
現象としてはサンプルファイルを更新すると
セーブしたファイルが
---FileEdit.php------------------------------------------
<?php

if ($_POST[\"div\"] == \"s\"){
	$File = urldecode($_POST[\"path\"]);
	file_put_contents($File,$_POST[\"text\"]);

}else{
略
--------------------------------------------------------
のように\が余計に挿入されてしまいます
$_POST["text"]に余計な\が挿入されているようですが
なにか良い手は無いでしょうか?

使用したサンプル
FileEdit.phpを表示するとFileEdit.phpの編集できるようになっています
更新ボタンを押すとFileEdit.phpにデータを書き込みます
---FileEdit.php------------------------------------------
<?php

if ($_POST["div"] == "s"){
	$File = urldecode($_POST["path"]);
	file_put_contents($File,$_POST["text"]);

}else{
	$File = "./FileEdit.php";
}
?>
<HTML>

<HEAD>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<meta http-equiv="content-style-type" content="text/css">
<TITLE>EDIT PAGE</TITLE>
</HEAD>
<FORM name="edit"  method="post" action="FileEdit.php">
<INPUT type='submit' name='list_button' value='更新' ><BR>
<textarea style='border :thin solid #000000 ;}'name='text' cols='150'
rows='50' >
<?php
echo htmlspecialchars(file_get_contents($File), ENT_QUOTES);
?>
</textarea>
<input type="hidden" name="path" value="<?php echo urlencode($File); ?>">
<input type="hidden" name="div" value="s">
</FORM>
<BODY>

</BODY>

</HTML>
-----------------------------------------------------------
同じような事をやっています方がいましたら宜しくお願いします。

環境
Windows2000 SP4
xampp-win32-1.5.1



PHP-users メーリングリストの案内