这对我有用,但有更好/更安全的方式来使用include:
<?php include "http://www.myserver.com/somefile.php" ; ?>
我试过了:
<?php include "somefile.php" ; ?>
但它不起作用。
答案 0 :(得分:3)
我使用这种格式,所以我可以使用根级别的相对路径。它比一条路径中的.. \ .. \更容易阅读。
include $_SERVER["DOCUMENT_ROOT"] . '/root folder/file.php'
答案 1 :(得分:1)
这里有几个问题:
readfile
或file_get_contents
。你的第二个包含不起作用的原因是因为文件somefile.php
不在“工作目录”中(可能是包含你的文件的目录)。
做其中一项:
/path/to/somefile.php
(在类Unix系统上)。../relative/path/to/somefile.php
。答案 2 :(得分:1)
为了最好的便携性和maintence,我会在基本路径中定义某种常量,并在查找文件时使用它。这样,如果文件系统中的某些内容发生变化,您只需要更改一个变量以保持一切正常。
示例:
define('INCLUDE_DIR','/www/whatever/');
include(INCLUDE_DIR . 'somefile.php');
答案 3 :(得分:1)
我强烈建议设置include_path,然后使用PHP的自动加载:
我的自动加载器如下所示:
function __autoload( $class_name ) {
$fullclasspath="";
// get separated directories
$pathchunks=explode("_",$class_name);
//re-build path without last item
$count = count( $pathchunks ) -1;
for($i=0;$i<$count;$i++) {
$fullclasspath.=$pathchunks[$i].'/';
}
$last = count( $pathchunks ) - 1;
$path_to_file = $fullclasspath.$pathchunks[$last].'.php';
if ( file_exists( $path_to_file ) ) {
require_once $path_to_file;
}
}
答案 4 :(得分:0)
我用这个:
$filename = "file.php";
if (file_exists($filename)) {
include($filename);
}