2013-10-08 80 views
-2
<form name= "create" action=".php" method = "get"> 

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

我有这种形式将接受一个名称并最终创建一个具有相同文件名的php文件。是否有可能完成?使用php创建新的.php文件

+4

是的,这是可能的。 –

+1

红旗,红旗。 XY问题!你为什么认为你需要自动创建一个新的.php文件? – deceze

+0

@deceze我在一个程序中接受数据,将它保存到数据库,显示数据库中的所有数据,并且所有这些数据都是超链接的,只要点击它就会弹出一个新窗口,它会显示所有信息关于数据 – NewInJava

回答

1

当然是可以做到的,你可以使用下面的代码,当然目录中存储的文件必须有写权限

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

还可以追加创建文件,开放等文件操作

但我必须警告你,使用这种类型的你下盗号的人可以写他们想要什么都

3

免责声明风险使您的服务器运行:允许客户端创建.php文件构成很大的威胁,我不负责损害您的服务器。

是的,这是可能的。

您的表单将发送人到creator.php,传递文件名GET

creator.php看起来就像这样:

​​

不过要小心,因为允许客户按照自己的意志创造文件可以是黑客的巨大的安全漏洞。

这样做的更好方式是使用?传递要在标题拿到表,然后有一个单一的页面解析查询字符串,抓住正确的数据库。它可以避免服务器上的混乱和破坏。

喜欢的东西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; 
?> 

这种方法将需要更多的工作,但会更清洁,更安全。