-3
    <form name= "create" action=".php" method = "get">

        <input type="text" name="filename">
        <input type="submit" value="create" />
        <br>
    </form>

名前を受け入れ、最終的に同じファイル名でphpファイルを作成するこのフォームがあります。できますか?

4

2 に答える 2

3

免責事項: クライアントに.phpファイルの作成を許可することは大きな脅威となり、サーバーへの損害については責任を負いません。

はい、可能です。

あなたのフォームは、creator.phpによってファイル名を渡して、その人を に送信しますGET

creator.php次のようになります。

<?php
file_put_contents($_GET["filename"].".php","This is my PHP file made by PHP!");
?>

ただし、クライアントが自分の意志でファイルを作成できるようにすることは、ハッカーにとって大きなセキュリティ ホールになる可能性があるため、注意してください。

これを行うためのより良い方法は、タイトルで取得したいテーブルを渡してから?、1 つのページでクエリ文字列を解析して正しいデータベースを取得することです。サーバー上の混乱や混乱を避けることができます。

次のようなものdata_getter.php

<?php
$database_name=$_SERVER["QUERY_STRING"]
// I don't know what kind of database you are using, but you
// will get the data here and put it into $database_contents.
echo $database_contents;
?>

この方法はより多くの作業を必要としますが、よりクリーンで安全です。

于 2013-10-08T06:23:05.887 に答える
1

もちろんできます。以下のコードを使用してファイルを作成できます。もちろん、ファイルを格納するディレクトリには書き込み権限が必要です。

$my_file = $_GET['filename'] + '.php';
$handle = fopen($my_file, 'w') or die('Cannot open file:  '.$my_file); 

ファイル操作の追加、開くなどもできます

ただし、このタイプの操作を使用すると、サーバーをハッキングの危険にさらすことになり、人々が好きなように書くことができることを警告しなければなりません

于 2013-10-08T06:21:16.017 に答える