当前位置:Gxlcms > PHP教程 > PHP路径,怎么调用自己服务器的路径?

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

时间:2021-07-01 10:21:17 帮助过:27人阅读

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

如果
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?

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

人气教程排行