热搜:NVER node 开发 php

php 路径 项目名

2024-07-27 17:50:01
php 路径 项目名

请问如何获取php 项目名 比如我的项目名是test 我如何获取到这个名字,


回复讨论(解决方案)

echo str_replace($_SERVER['DOCUMENT_ROOT'], '', str_replace('\\', '/', dirname(__FILE__)));

echo str_replace($_SERVER['DOCUMENT_ROOT'], '', str_replace('\\', '/', dirname(__FILE__)));



你好,因为公司有个项目是php的,刚刚接触php ,问题比较小白。
是这样的,我现在部署在本地 服务器项目路径D:/wamp/www/weimik, 我想得到weimik这个名字,因为在java中,这个是我所谓的项目名,因为之后我会把项目部署到linux上,我不知道到时取weimik 这个名字还和我截取weimik 这个方式一样不一样。

其实最终问题是,我想在一个php文件下引入不用目录下的php文件,我想在是这样引入的include("/weimik/Conf/Ip.php"); ,因为weimik可能会变所以我想 取项目名,谢谢

你的项目名指的是文件名($_SERVER['SCRIPT_NAME'])?还是目录名?(dirname(__FILE__))

你的项目名指的是文件名($_SERVER['SCRIPT_NAME'])?还是目录名?(dirname(__FILE__))





也就是有红线标记的名字,另外问一下如果引入不同目录的php 文件

你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');

用于包含文件涉及到文件系统路径,所以宜做到:被包含的文件在主文件的平级或下级目录中
这样用相对路径 include(‘./文件名'); 或 include(‘./目录名/文件名'); 就轻松实现了
如果因不合理的布局设计造成需要从下级目录包含上级目录(或上级目录的其他子目录)中的文件
可写作 include(__DIR__ . "目标文件相对当前目录的路径/文件名"); 来完成,显然计算相对路径是比较绕人的

你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


用的是框架,那就好办了,TP里有个常量APP_NAME,在控制器里echo出来就是weimicms



你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


用的是框架,那就好办了,TP里有个常量APP_NAME,在控制器里echo出来就是weimicms



再请教一个问题 ,现在我想用ajax post 请求到php 我看框架里面写的是index.php?g=User&m=Store&a=test 这种格式的路径,但是我写这个路径的时候去发现没有走test方法,我现在在微信开发,通过file_put_content方法发现没有写文件来判断有没有走test方法的




你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


用的是框架,那就好办了,TP里有个常量APP_NAME,在控制器里echo出来就是weimicms



再请教一个问题 ,现在我想用ajax post 请求到php 我看框架里面写的是index.php?g=User&m=Store&a=test 这种格式的路径,但是我写这个路径的时候去发现没有走test方法,我现在在微信开发,通过file_put_content方法发现没有写文件来判断有没有走test方法的


URL模式是path_info模式还是你改了其他模式?发送post请求时,url可以用U方法来生成





你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


用的是框架,那就好办了,TP里有个常量APP_NAME,在控制器里echo出来就是weimicms



再请教一个问题 ,现在我想用ajax post 请求到php 我看框架里面写的是index.php?g=User&m=Store&a=test 这种格式的路径,但是我写这个路径的时候去发现没有走test方法,我现在在微信开发,通过file_put_content方法发现没有写文件来判断有没有走test方法的


URL模式是path_info模式还是你改了其他模式?发送post请求时,url可以用U方法来生成





$.ajax({
type:"post",
dataType: "json",
url:"Coupon.php",
data:"data",
success:function(data){
alert(data);
alert("success");
},
error:function(data){
alert(data);
alert("error");
}
})
现在用ajax 请求 我不知道我怎么调用Coupon.php 中的test方法 我运行时已经执行alert("error")现在这两个php 在同一目录






你的项目有没有一个入口文件,在那个入口文件里定义你的项目名字,比如:define('APP_ROOT', '项目名');



有,但是我用的是define('APP_PATH','./weimicms/'); 用的是thinkphp 框架


用的是框架,那就好办了,TP里有个常量APP_NAME,在控制器里echo出来就是weimicms



再请教一个问题 ,现在我想用ajax post 请求到php 我看框架里面写的是index.php?g=User&m=Store&a=test 这种格式的路径,但是我写这个路径的时候去发现没有走test方法,我现在在微信开发,通过file_put_content方法发现没有写文件来判断有没有走test方法的


URL模式是path_info模式还是你改了其他模式?发送post请求时,url可以用U方法来生成





$.ajax({
type:"post",
dataType: "json",
url:"Coupon.php",
data:"data",
success:function(data){
alert(data);
alert("success");
},
error:function(data){
alert(data);
alert("error");
}
})
现在用ajax 请求 我不知道我怎么调用Coupon.php 中的test方法 我运行时已经执行alert("error")现在这两个php 在同一目录


不要用dataType:"json"这行

你不是用了 thinkphp 框架吗?
url:"Coupon.php", 这样就离开框架了,所有的工作都得自己完成

你不是用了 thinkphp 框架吗?
url:"Coupon.php", 这样就离开框架了,所有的工作都得自己完成



对,但是我不熟悉thinkphp框架,思维还停留在java,而且我用ndex.php?g=User&m=Coupon&a=test 没有办法访问到test这个方法

./ 同级目录
../ 上级目录
/ apache目录

如果你的thinkphp是3.2版本的话,U方法这样使用:

url : "{:U(MODULE_NAME . '/控制器名/控制器的方法名')}"比如"{:U(MODULE_NAME . '/User/index')}"

如果你的thinkphp是3.2版本的话,U方法这样使用:

url : "{:U(MODULE_NAME . '/控制器名/控制器的方法名')}"比如"{:U(MODULE_NAME . '/User/index')}"



因为我看其他页面是这样写的index.php?g=模块名&控制器名&a=方法名  比如index.php?g=Wap&m=Store&a=index

但是我的却不行,比如index.php?g=Wap&m=Toshake&a=test 有些控制名里面却是可以的,是需要配置吗或者说需要继承什么类

是我自己傻逼了,我在php的方法中没有加方法修饰符public,因为在java中肯定会提示的所以忽略了当成js脚本来写了 ,所以没有请求到,返回error ,之前一直把重心放到路径上了,index.php?g=Wap&m=Store&a=index这种方式是可以的,另外谢谢各位了,也希望以后有机会向你们学习。