PHP-如何动态创建文件?

PHP-如何动态创建文件?,php,Php,我想动态创建PHP文件。静态HTML代码工作得很好,但是当我想插入包含“window.location”命令的PHP代码时,我的脚本直接将我发送到该页面,而无需满足“if(isset())”条件 不知何故,一个简单的回音不起作用。我怎样才能解决这个问题 public function suche() { echo "if(isset(\$_POST['searchit'])) { \$suchbegriff = \$_POST['suchbegriff']; \

我想动态创建PHP文件。静态HTML代码工作得很好,但是当我想插入包含“window.location”命令的PHP代码时,我的脚本直接将我发送到该页面,而无需满足“if(isset())”条件

不知何故,一个简单的回音不起作用。我怎样才能解决这个问题

 public function suche()
 {
   echo "if(isset(\$_POST['searchit']))
   {
    \$suchbegriff = \$_POST['suchbegriff'];

    \$anfangsbuchstabe = substr(\$suchbegriff, 0, 1);

    <script type='text/javascript' language='Javascript'>window.location = '/".$anfangsbuchstabe."/".$suchbegriff.".php'</script>
  }";
 }
公共函数suche()
{
echo“if(isset(\$\u POST['searchit']))
{
\$suchbegriff=\$\u POST['suchbegriff'];
\$anfangsbuchstabe=substr(\$suchbegriff,0,1);
window.location='/'$anfangsbuchstabe./'$suchbegriff..php'
}";
}

您忘记了转义变量。从粘贴的PHP的颜色中可以看到,变量将被执行

使用
\
对它们进行转义,并对双引号(
)执行相同的操作

另外,我还注意到,您正在
echo
ing您的代码。echo-ing PHP代码将永远不会实际执行代码


您可以使用
eval
执行PHP代码,但这是非常不安全的。从您的问题中我可以看出,您没有足够的经验来计算所有安全风险。不要使用它。

如果您试图创建一个文件,您不能只回显某个内容,您必须将其写入一个文件。您可以使用它,例如示例。

如果您真的在编写一个php文件,您希望稍后在另一个请求中调用/执行该文件,那么您需要确保php被识别为php,现在它只是文本

所以你需要一些类似的东西:

public function suche()
 {
   echo "<?php if(isset(\$_POST['searchit']))
   {
    \$suchbegriff = \$_POST['suchbegriff'];

    \$anfangsbuchstabe = substr(\$suchbegriff, 0, 1);
    ?>
    <script type='text/javascript' language='Javascript'>window.location = '/".$anfangsbuchstabe."/".$suchbegriff.".php'</script>
<?php
  }
?>";
 }
公共函数suche()
{
回声“
window.location='/'$anfangsbuchstabe./'$suchbegriff..php'
";
}

请注意,我已经添加了
php
开始和结束标记。

你到底想做什么,以及你到底希望它如何工作?@jeroen..谢谢你!!