2016-04-13 67 views
1

标题不言自明。在PHP中,我创建一个PHP文件,添加一些PHP和HTML代码,然后关闭它。问题在于PHP文件将找到所有PHP代码并将其转换为空白。这是我尝试的最后一件事。如何将PHP代码写入由PHP创建的文件?

$phpfile=fopen('backupfile.php',"r"); 
 
$phptext=fgets($phpfile); 
 
    if(stristr($link, 'http://') === FALSE) { 
 
    fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=http://".$link." '/>"); 
 

 

 
    }else{ 
 
    fwrite($file2,$phptext."<meta http-equiv='refresh' content='0; URL=".$link." '/>"); 
 

 
    }

phpfile包括以下内容:

<?php $file=fopen("/num","r"); $bar=fgets($file); $bar=$bar+1; $file=fopen("/num","w"); fwrite($file,$bar); ?> 

正如前面所说的,它根本不是添加到文件。

我试过htmlentities,但这使得PHP代码对页面可见并且不硬连接到文件中。

感谢您的任何帮助。

+0

它是否添加标准的ASCII文本 - 如在 - 你知道,写作过程本身的作品,无论什么样的浓度? – Martin

+0

您是否试过'$ phptext。“” – Joum

+0

@Joum我看不到这与我上面写的有什么不同。 –

回答

2

重写你的代码只使用(转义)单引号。使用双引号会导致嵌入式php被解释。

+0

谢谢!这帮了很多。 –

1

它不是真的关于在一个文件中编写代码,你可以使用数据库桥接这个想法。

你可以有一个标准的目录设置,即:帮助文档。

在那个目录中,有一个文件:你可以简单地查询数据库的页面,使用get值将固定链接集成到每个页面,然后显示该值(可能是页面ID)的内容。

当然,您需要实现标准和安全性 - 也就是说,如果任何人都可以创建页面 - 确保只有某些html可以添加或BBCode。

我希望这可以拓宽你的想法;这是大多数论坛,帖子,评论等方面的工作。

0

第1步: 代码澄清:

$link = "some like address"; 
    if(mb_strpos($link, 'http://') === FALSE || mb_strpos($link, 'http://') > 0) { 
    $link = "http://".$link; 
    } 
    $phptext = PHP_EOL."<meta http-equiv='refresh' content='0; URL=".$link." '/>"; 
    file_put_contents('backupfile.php', $phptext, FILE_APPEND); 

好了,所以我做了什么这里:

  • 与多字节字符串检查,检查是否HTTP://出现在字符串中,在检查开始是无关紧要的,因为如果它不是一开始就是一个无效的HTTP请求,并且在提供的代码中没有对此进行检查。

  • 一旦选中,$link值会更新。

  • 然后使用file_put_content将字符串中的内容追加到现有文件中。如果文件不存在,那么它将被创建。


编辑:

它不是从你的问题清楚,但如果你想$link保存在字符串中,然后写链接用单引号如下:

$phptext = PHP_EOL.'<meta http-equiv="refresh" content="0; URL=$link"/>';