2016-07-07 96 views
-1

我正在编写一系列网页,我想在其中显示每日时间的格式。我已经写了一个PHP函数来做到这一点,并且当它与代码的其余部分位于同一个文件中时,该函数可以很好地工作。但是,我想在几个相关的文件中完成这个转换过程,所以我希望把这个函数放在一个外部文件中,我可以在需要时简单地“包含”这个文件。TBut我不能让“include”位工作。PHP包含调用失败

下面是我使用列入过程的代码:

<?php 
    include 'http://www.northcentralflaa.org/header.html'; 
    include 'http://www.northcentralflaa.org/d.sysadmin/f-time.php'; 
?> 

头文件(在第一个“包括”行)显示了没有问题,但F-time.php文件在不带

的error_log中文件告诉我:。

“[07-Jul-2016 11:12:03] PHP警告:include()[function.include]:无法打开 'http://www.northcentralflaa.org/d.sysadmin/f-time.php'收录 (include_path ='。:/ usr/lib64/php:/ USR /共享/梨 ')在 /home1/northce1/public_html/d.sysadmin/admin-portal.php第19" 行

这似乎是告诉我 - 在“(包含路径=' .:/usr/lib64/php:/ usr/share/pear')“ - 系统正在寻找子目录中的一些文件,据我所知,它不存在。但正如我所说,第一个“包含”声明完美地起作用。

FWIW,我也试着将HTML SSI包合过程:

<!--#include file="http://www.northcentralflaa.org/d.sysadmin/f-time.php" -->

(PHP的括号外,当然),我已经尝试使用相对路径,而不是两个处理绝对路径,无论是否有主角点。我检查了目录和文件名的拼写。而且即使写在基地网页文件时的功能完美的作品,我也试着评论出全功能(在F-time.php文件),并仅导入线说

echo "The file was imported"; 

即使没有出现。任何想法,我可以进一步寻找解决方案?

+1

是你自己的服务器吗?那么你不需要全面的http请求来加载这些文件。这是巨大的低效率,并迫使PHP做出自己的http请求,以响应首先加载原始脚本的http请求。如果它们是远程的,那么你不需要**加载远程php文件,因为你将执行这些脚本,并获得它们的输出,而不是原始的php代码。 –

+0

此页面还需要验证,因此无法工作。 –

+0

Marc B - 不,这不是我自己的服务器。这些文件位于数百英里之外的服务器上。那么,没有办法在多个文件中重复使用PHP函数,而无需复制并粘贴到每个文件中? –

回答

0

我发现了一个修复程序。我不能完全理解它为什么起作用,但如果我重写第二个包括表示为

include $_SERVER['DOCUMENT_ROOT'] . '/d.attic/f-time.php'; 

它按预期工作。 (重写不需要第一个包含声明,这让我很困惑。)

0

包括对本地化文件路径的调用,而不是URL。

<?php 
    include 'header.html'; 
    include 'd.sysadmin/f-time.php'; 
?> 
+0

我已经尝试过了,正如我在原始发布中提到的那样。无论我如何调用这些文件,每次调用头文件DOES都会起作用,并且每次都调用f-time.php文件FAILS。 –