php取服务器路径,PHP路径,怎么调用自己服务器的路径?

我现在都是自己在单机做一些实验,比如要调用自己堂兄弟的路径,我问问在真正项目里,都怎么调用使用路径?

如果

C:\AppServ\www\YB-PHP\PathDemo\China\ShanDong\LinYi\03.php

调用

C:\AppServ\www\YB-PHP\PathDemo\China\JiangSu\NanJing\NanJingEcho.php

就得写:

include('../../JiangSu/NanJing/NanJingEcho.php');

这样啰嗦不说,还老是容易弄错几个"../",每次我数这个,我都弄得好糊涂,怎么写简单点?

我问了一下,别人告诉我用常量定义服务器:

define('BASEPATH', 'C:\AppServ\www\YB-PHP\PathDemo\China\');

include(BASEPATH . 'JiangSu/NanJing/NanJingEcho.php');

好像有个什么权限问题,我想问问,真正做项目的时候,都怎么使用父路径,堂兄弟路径,本机路径?保证自己换服务器,项目还能用?

回复内容:

我现在都是自己在单机做一些实验,比如要调用自己堂兄弟的路径,我问问在真正项目里,都怎么调用使用路径?

如果

C:\AppServ\www\YB-PHP\PathDemo\China\ShanDong\LinYi\03.php

调用

C:\AppServ\www\YB-PHP\PathDemo\China\JiangSu\NanJing\NanJingEcho.php

就得写:

include('../../JiangSu/NanJing/NanJingEcho.php');

这样啰嗦不说,还老是容易弄错几个"../",每次我数这个,我都弄得好糊涂,怎么写简单点?

我问了一下,别人告诉我用常量定义服务器:

define('BASEPATH', 'C:\AppServ\www\YB-PHP\PathDemo\China\');

include(BASEPATH . 'JiangSu/NanJing/NanJingEcho.php');

好像有个什么权限问题,我想问问,真正做项目的时候,都怎么使用父路径,堂兄弟路径,本机路径?保证自己换服务器,项目还能用?

明显2是更好的方案,不存在你考虑的什么权限问题:如果真的有权限问题,那么你使用 ../../的形式的时候该问题同样会发生。

方案2也是通常使用的方式,实际上会更复杂,如:

defined('BASE_PATH') || define('BASE_PATH', __DIR__);

defined('UPLOAD_BASE_URL') || define('UPLOAD_BASE_URL', '/uploads');

defined('UPLOAD_PATH') || define('UPLOAD_PATH', BASE_PATH . UPLOAD_BASE_URL);

//等等

具体引用文件时则看哪个方便,比如

require_once(BASE_PATH . '/app/functions.php');

//或者

require_once(__DIR__ . '/functions.php');

都是OK的。

要学会使用__FILE__, __DIR__,这是最好的方式,而直接写出路径,如c:/workspace/project/app/functions.php,那以后项目部署到linux上怎么办?

所以,要充分考虑到迁移。

希望有帮助。

跨项目调用?一般都是开放一个接口?或者两个项目都要这个数据?那就单独开一个API的项目

又或者是一个项目里你要调用数据库驱动类库?那就把这个类库放找一个lib目录下统一去include?

一般都是这样一步一步推进去解决问题的,用实际情况去分析解决问题

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值