用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3868|回复: 3
收起左侧

刚看了CI的 index.php 好像有问题

[复制链接]
发表于 2008-4-24 08:45:04 | 显示全部楼层 |阅读模式
在 index.php最后一行
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
我把这行注释了,换成这行
echo BASEPATH;
//require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
然后输出的结果为:
D:\PC_webserver\Apache2.2\htdocs/system/
我把ci安装在D:\PC_webserver\Apache2.2\htdocs\
为什么连这个基本的 常量都没处理好? 还是对程序没影响?

[ 本帖最后由 lifeibest 于 2008-4-24 08:46 编辑 ]
发表于 2008-4-24 10:26:03 | 显示全部楼层
这是一个 require 啊,使用绝对路径怎么了?
codeigniter.php 就是在 system 的 codeigniter 下,没有问题。

对了,你是不是绝得正斜杠和反斜杠一起出现不行?其实是没问题的,路径可以有正斜杠和反斜杠,别忘了这是跨平台的,Liunx 下和 Windows 下是不一样的。
 楼主| 发表于 2008-4-24 10:28:32 | 显示全部楼层
D:\PC_webserver\Apache2.2\htdocs/system/
里面有 \  还有 / , 有点别扭
index.php 前面有段代码
if (strpos($system_folder, '/') === FALSE)
{
if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
{
  $system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
}
}
else
{
// Swap directory separators to Unix style for consistency
$system_folder = str_replace("\\", "/", $system_folder);
}
我想它的意思是全用 '/',不过没处理好,要不然直接这样得了
$system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;

上面的代码应该这样
if (strpos($system_folder, '/') === FALSE)
{
if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE)
{
  $system_folder = realpath(dirname(__FILE__)).'/'.$system_folder;
}
}
// Swap directory separators to Unix style for consistency
$system_folder = str_replace("\\", "/", $system_folder);

[ 本帖最后由 lifeibest 于 2008-4-24 10:45 编辑 ]
发表于 2008-4-24 11:12:55 | 显示全部楼层
这好像没有什么影响。
斜杠最好用 /   没有转义问题。

对了,这个要是在 Unix 下,斜杠就一致了,因为 realpath 返回的斜杠不同系统也不一样。

本版积分规则