嗯。。。。我想知道如何制作一个脚本来创建一个html页面。因此,当脚本被执行时,它将创建一个新页面。类似这样的东西:mydomain.com/test.html。脚本应该创建test.html页面!
这是我的作品:
<form action="index.php" method="post">
<input type="text" name="nick" value="Enter NIck" />
<input type="submit" value="Create" />
</form>
<?php
$nick=$_POST['nick']; // get the users input
$fh=fopen('$nick' , 'W') // Create the page
$contents= include 'sys.php';
fwrite($fh, $contents);
fclose($fh);
echo "Redridectring to your page....";
header('Location: $nick');
?>
现在,这段代码应该做的是创建一个名为$nick。因此,如果输入是"bleugh",那么$nick应该是$nick="blegh"。然后它将创建页面"bleugh",包括sys.php页这是赖特吗?它行得通吗?
不能在单引号中以这种方式使用PHP变量
可以:
"{$nick}"
不起作用:
'$nick'
但是不确定您想用"$contents=include'sys.php"做什么?也许您想将sys.php的输出捕获到一个字符串中?无论哪种方式,您都需要小心打开自己的漏洞。
我认为通过创建一个文件然后重定向到该文件的方法基本上是可以的。附加评论:
- 确保PHP进程对您写入的文件夹具有写入权限
- 你真的必须包含sys.php吗?当您真正想要创建一个html文件时,您需要在$contents中写入适当的html标记
- 您应该在输出任何字符之前执行重定向,因此您的重定向将不起作用,因为它前面有一个echo操作
尝试这个
header('Location: '.$nick.'');