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 在哪里。可能在包含某些文件的&lt;?php 标记之前。 您可以随时忽略 php 脚本中的尾随 ?&gt;。这通常是不需要的换行符的来源 class.admin.php 包含一个类和多行注释。也没有php结束标签 只是一个猜测:尝试将new Admin; 更改为new Admin();(只是因为我从未见过没有括号的) 【参考方案1】:

已修复:我已将 IDE 的编码更改为没有 BOM 的 UTF-8,此问题消失了。我还必须覆盖任何包含的文件以使用相同的编码。

【讨论】:

以上是关于require_once() 在文件开头添加换行符的主要内容,如果未能解决你的问题,请参考以下文章

PHP require_once() .js 文件

带有子文件夹的require_once [关闭]

Require_once 功能工作

从文件中删除所有以 # 开头的行

致命错误:require_once():需要打开失败

require_once() 和 require 函数不起作用