PHP,fopen,浏览器兼容性 - 它有什么用

时间:2011-02-11 16:27:03

标签: php cross-browser fopen fread

在此页面上http://www.effectivewebsolutions.biz/video-spokesmodel.html如果你输入你的URL,它会通过fopen函数打开它,并在网站上放置一个视频辐条模型用于演示目的,这是脚本。

<?php
$handle = fopen($_POST["url"], "r");

while($data = fread($handle, 1000000)){
    $contents .= $data;
}

fclose($handle);

echo "<base href=\"{$_POST['url']}\">";
echo "\n\n";
echo "<!-- Begin inserted page -->";
echo "\n";
echo $contents;
echo "\n";
echo "<!-- End inserted page -->";
echo "\n\n";
echo '<script type="text/javascript" src="http://www.internet-spokesmodels.com/scripts/swfobject.js"></script>';
echo '<style type="text/css" media="screen">object { outline:none; } </style>';
echo "\n";
echo '<script type="text/javascript" src="http://www.internet-spokesmodels.com/actors/script/SabrinaEXAMPLESredshirt_350x500.js"></script>';
?> 

但是在Safari中它只打开网站的文本版本(没有CSS或图像)。 浏览器在这种情况下会有什么影响,这没有任何意义。

任何想法?

2 个答案:

答案 0 :(得分:0)

可能是因为该页面无法呈现有效的HTML。当我用http://www.google.ca尝试时,我得到了:

<base href="http://google.ca">

<!-- Begin inserted page -->
<!doctype html><html><head><meta http-equiv="content-type" ...

DOCTYPE应该是页面中的第一个内容,后跟带有HTML内容的<html>标记。 <base>标记应位于<head>标记内。

你不能责怪Safari错误地显示无效的HTML。

答案 1 :(得分:0)

返回的HTML代码在浏览器中应该是相同的,因为浏览器与服务器端代码无关。检查HTML的有效性。另外,按照建议的meagar清理您的输入。