2009年12月30日水曜日

ファイルの変更の量産タイプ

部分的にお客さんが変更できるプログラムですが、1ケ所や2ケ所ならいいけど複数作りたい場合があり、量産タイプを作ってみました。



書き込み部分
<?php
$num =$_GET["name"];
$file_name = $num .".dat";
$file = @fopen($file_name,"r") or die("openエラー $file_name");
flock($file, LOCK_SH);

?>
<form method="post" action="kakikomiup.php?&name=<?php echo $num; ?>">
<textarea name="contents" cols="40" rows="10">
<?php
while (!feof($file)) {
$string = fgets($file);
echo $string;
}
flock($file, LOCK_UN);
fclose($file);
?>
</textarea>
<input type="submit" value="送信">


上記のファイルを例えば、kakikomi.php と名前をつけたら、

kakikomi.php?&name=toppage

としたら、toppage.dat というファイルの変更ができます。

そしてこのファイルを渡すのがkakikomiup.php です。


書き込み完了ファイル
<?php
$num =$_GET["name"];
$file_name = $num .".dat";


$contents = $_POST['contents'];
if ($contents) {
$fp = fopen($file_name , 'w');
fputs($fp, $contents);
fclose($fp);
print "書き込み完了しました。<br/>";
print ("<br/>-----------書き込み結果-------------<br/>");
}

?>
<br/>
<br/>
<?php
$file = @fopen($file_name,"r") or die("openエラー $file_name");
flock($file, LOCK_SH);
while (!feof($file)) {
$string = fgets($file);
echo $string."<br>";
}
flock($file, LOCK_UN);
fclose($file);

print "<br/><br/>---↑トップページの書き込み内容----<br/><br/>";

?>


これでいくつでもOKですな。
簡単なことなんだけど、私にとっては、ちょっとしたことでつまづき、こういう休みの日にしかこういうことができねぇ~んだよ。 ホンマに…。


この頃、勝手に改ざんされる事件があいついでいるので、こういうものでも一応、htaccessの認証が必要なフォルダーにデータは入れておいた方がいいかもしれません。 認証の必要なファイルでも内部なら表示はできます。

別に普通のサイトでも書き込まれる時は書き込まれるんだけど…。 いったいどんな技術なんでしょうか? こういうサイトに行ったら必ずスキャンはしておいた方がいいです。 (話題のガンブラーについてはこちら。)本当に怖いわ。こんなの何で作るのでしょうか? 

これを使っている堀江産婦人科様のレストランがものごつ美味しいのです。
これでタイムリーに今月のメニューを紹介できます。遅くなりすみませんでした…。
ランチに行きたい=。

それにしても、こんなオバカな私がこんなことができるようになったことが本当にスゴイ。
ありがとう!PHP pro 様!

お問合せフォーム

お名前 :
Email: (必須)
メッセージ: (必須)


0 コメント :

コメントを投稿



連絡フォーム

名前

メール *

メッセージ *

サイト内検索