-1

嗯....我想知道如何制作一个脚本来创建一个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="bleugh"。然后它将创建页面“bleugh”,包括 sys.php,然后是页面的标题。这是赖特吗?它会起作用吗?

4

3 回答 3

0

您不能在单引号内以这种方式使用 PHP 变量

没问题:

"{$nick}"

不会工作:

'$nick'

但我不确定你想用“$contents=include 'sys.php';”做什么?也许您想将 sys.php 的输出捕获到一个字符串中?无论哪种方式,你都需要小心你打开自己的漏洞。

于 2012-07-25T09:39:31.093 回答
0

我认为您通过创建文件然后重定向到文件的方法基本上是可以的。附加评论:

  1. 确保 PHP 进程对您写入的文件夹具有写入权限。
  2. 你真的必须包含 sys.php 吗?当你真的想创建一个 HTML 文件时,你需要在 $contents 中写入适当的 html 标签。
  3. 您应该在输出任何字符之前执行重定向,因此您的重定向将不起作用,因为它前面有一个回显操作。
于 2012-07-25T09:46:13.273 回答
0

尝试这个

 header('Location: '.$nick.'');
于 2012-07-25T09:46:39.733 回答