require_once() 在文件开头添加换行符
Posted
技术标签:
【中文标题】require_once() 在文件开头添加换行符【英文标题】:require_once() adds line-break at the beginning of file 【发布时间】:2016-07-22 15:45:47 【问题描述】:这是我的代码的一部分:
<?php
ob_start();
session_start();
require_once('../engine/class.admin.php');
$admin = new Admin;
//some code
if(!isset($_COOKIE['logged']) && !isset($_SESSION['logged']) )
//some code
else
require_once('header.php');
ob_flush();
当我试图加载这个页面时,PHP 在页面的开头添加了一个 CRLF 标签。一切看起来都很好,当我删除两个 require_once() 标记时,没有这些文件就无法运行此代码。我需要从哪里开始寻找解决问题的方法?
【问题讨论】:
../engine/class.admin.php
的内容是什么?
检查CRLF
在哪里。可能在包含某些文件的<?php
标记之前。
您可以随时忽略 php 脚本中的尾随 ?>
。这通常是不需要的换行符的来源
class.admin.php 包含一个类和多行注释。也没有php结束标签
只是一个猜测:尝试将new Admin;
更改为new Admin();
(只是因为我从未见过没有括号的)
【参考方案1】:
已修复:我已将 IDE 的编码更改为没有 BOM 的 UTF-8,此问题消失了。我还必须覆盖任何包含的文件以使用相同的编码。
【讨论】:
以上是关于require_once() 在文件开头添加换行符的主要内容,如果未能解决你的问题,请参考以下文章