我创建了一个函数来获取存储网站的主文件夹路径。在localhost它工作正常。
function get_path()
{
$current=dirname(__FILE__) . '/';
$name=basename(__DIR__);
$from=array($name);
$to=array('');
$result=str_replace($from,$to,$current);
return trim($result, "/\\");
}
但在服务器中,它包含文件时显示错误。
include(): Failed opening 'home3/home/public_html/dev/ship\model\main.php' for inclusion (include_path='.:/opt/php54/lib/php')
该文件确实位于该目录中。但它不起作用。
答案 0 :(得分:1)
你正在剥离第一个斜杠(第一个字符) - 而且你在路径中使用\而不是/。
答案 1 :(得分:1)
尝试以下
// Define directory separator
define('DS', DIRECTORY_SEPARATOR);
function get_path()
{
$current = dirname(__FILE__) . DS;
$name = basename(__DIR__);
$from = array($name);
$to = array('');
$result = str_replace($from, $to, $current);
return $result;
}
或者您可以使用:
// define directory separator
define('DS', DIRECTORY_SEPARATOR);
function get_path($withSlash = true)
{
$path = realpath(dirname(__FILE__));
if ($trailingSlash) {
$path .= DS;
}
return $path;
}
答案 2 :(得分:0)
要创建路径,您应该使用PHP函数realpath来管理斜杠:http://php.net/realpath