auto_prepend_file 删除附加文件的第一行
Posted
技术标签:
【中文标题】auto_prepend_file 删除附加文件的第一行【英文标题】:auto_prepend_file deletes first line of apended file 【发布时间】:2014-04-26 08:28:04 【问题描述】:当使用 php.ini 时
auto_prepend_file=/homepages/xyz/htdocs/somefile.php
在文件thickbox.css 上(出于某些原因,我必须将css 文件作为php 处理),第一行被删除。 Thickbox.css 的开头是
#TB_overlay
background: #000;
opacity: 0.7;
filter: alpha(opacity=70);
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 100050; /* Above DFW. */
但带有前置文件的输出是
background: #000;
opacity: 0.7;
filter: alpha(opacity=70);
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 100050; /* Above DFW. */
第一行不见了!
当我在 # 或换行符之前放置一个空白时,该行会重新出现。但是只要第一个字符是#,第一行就消失了。
如何防止这种情况发生?
【问题讨论】:
到目前为止,我有两个假设:1)somefile.php
包含执行此类操作的 PHP 代码 2) 您不是在检查原始输出,而是检查进一步后处理的结果。您是否 100% 确定您的 PHP 代码与问题无关?如何验证线路不存在?
我使用somefile.php
仅用于标题输出。但即使somefile.php
为空白且不包含任何内容,thickbox.css
的第一行也会在以#
开头时被删除。
我可以通过使用网络浏览器调用已处理的thickbox.css
来验证这一点
【参考方案1】:
我自己找到了解决方案。请求的 css 文件不应只是附加。相反,“somefile.php”应该在末尾输出请求的文件本身:
readfile($_SERVER['SCRIPT_FILENAME']); // the requested file
exit(0);
【讨论】:
以上是关于auto_prepend_file 删除附加文件的第一行的主要内容,如果未能解决你的问题,请参考以下文章
PHP:auto_prepend_file 是不是知道“调用脚本”
php auto_prepend_file和auto_append_file的妙用
PHP中auto_prepend_file与auto_append_file用法实例分析
如何为每个目录设置 PHP 的 auto_prepend_file 指令?
apache中的php_value auto_prepend_file如何与php一起使用它总是留在内存中吗?
PHP致命错误:未知:将其添加为auto_prepend_file后无法打开所需的'/home/user/pathto/header.php'