PHP ReadFile在ReadFile中插入代码


PHP ReadFile Insert a code in readfile

我有一个php readfile脚本,如下所示:

<?php
$contentFile = "http://google.com";
readfile( $contentFile );
?>`

我想在readfile输出的特定行中插入一段代码。

示例:

<html>
{top_code}
{Code i want to insert here}
{bottom-code}
    </html>

我怎样才能做到这一点?

你不能。readfile()将您正在阅读的内容流式传输到用户的浏览器。您可以使用输出缓冲机制来捕获数据,但也可以只使用file_get_contents(),并为自己节省几行额外的代码。

file_get_contents以字符串形式返回请求的文件/url。然后使用标准字符串或DOM操作来操作该"页面"。

这可以完成的工作

$contentFile = "http://google.com";
    $html = file_get_contents($contentFile);
    $html = explode("'n",$html);
    $line = $line_number - 1;
    array_splice($html, $line, 0,"Burim Shala");    
    $html = implode("'n",$html);

我发现了这一点,可以解决使用PHP而不使用MYSQL的RSS提要问题幸亏http://bavotasan.com/2010/display-rss-feed-with-php/

$rss = new DOMDocument();
$rss->load('http://wordpress.org/news/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
echo '<small><em>Posted on '.$date.'</em></small></p>';
echo '<p>'.$description.'</p>';
}