PHP无法正确输出读取文件

时间:2019-01-22 20:33:00

标签: php iframe embed

我有一个文本文件,其中包含youtube网址代码,例如:BzRBCM89GvI

我希望将其放置在iFrame中,并将文件的标题用作视频上方的标题。我几乎拥有它,但由于某种原因,该链接似乎无法正常工作。如果我检查元素,URL看起来不错,但是当我将其粘贴到文本编辑器中时,得到以下信息:https://www.youtube.com/embed/%EF%BB%BFBzRBCM89GvI

额外的:“%EF%BB%BF”让我觉得很混乱。

这是PHP代码:

<?PHP
$projects = glob('images/Projects/Video/*');

foreach ($projects as &$project) {  
    $src = "https://www.youtube.com/embed/" . file_get_contents($project);
    echo'<h3>' . str_replace(".txt","",str_replace("images/Projects/Video/","",$project)) . '</h3><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" style="min-height: 300px; width: 100%;" type="text/html" src="' . $src . '"></iframe>';
}
?>

有什么主意为什么要添加额外的位或为什么不起作用?

1 个答案:

答案 0 :(得分:1)

这是UTF-8编码文件的Byte Order Mark (BOM)。保存不带BOM的文件。大多数文本编辑器都具有此功能。

如果您无法控制文件并需要删除BOM,请选中How to remove multiple UTF-8 BOM sequences

跳过前3个字符/字节也可以,但是这假定BOM始终存在:

substr(file_get_contents($project), 3);