PHP大小写URL转换问题、求指教
天蓬老师
天蓬老师 2017-04-10 18:01:52
[PHP讨论组]

更改下应用场景吧以便理解,我有一个文件名为(AppName.php),想通过require 'appname.php'去引入它,在Windows系统下没问题,可是Linux下就麻烦了不支持,我想知道这种情况我该如何转换这个未知的大小写问题。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
迷茫

谢邀, appname => AppName,光从程序应该完全无法判断出来...除非能进行语义分析,但是这种毫无规律,例如我就要取ApPname,那再牛B的逻辑也判断不出来。除非是下面三种情况:

  1. 不区分大小写,一律转换为大写或者小写。

  2. 仅首字母大写,ucfirst就好了。

  3. 使用app_name这种有规律的命名法,可以转换成AppName。

======= 看你改了问题,我补充下吧 =======

正常开发都是要严格区分大小写的,不注意大小写的,部署到Linux就会产生问题。虽然可能有配置不区分大小写的方法,但是我觉得区分大小写还是有必要的。

======= 再补充下... =========

如果是mac的话,可以在磁盘管理,设置分区格式为区分大小写。默认是是不区分大小写的。现在开发,都是开了一个新分区(区分大小写),代码相关都放在里面。这样就不容易因为大小写的问题导致错误。或者可以用docker打包一个开发镜像,把代码目录挂载到容器,也不会有大小写的问题。

黄舟

appname 是无法转换成AppName的 但是你可以通过app_name来转换的。系统内置是没有的。
小写字母下划线转大写驼峰

ucfirst(preg_replace_callback('/_([a-zA-Z])/', function ($match) {
        return strtoupper($match[1]);
    }, $str));

大写转小写带下划线 两个大写挨着只转一个

strtolower(trim(preg_replace("/[A-Z]/", "_\\0", str_replace("_","",$str)), "_"));

大写转小写带下划线 两个大写都转

strtolower(trim(preg_replace("/[A-Z]/", "_\\0", str), "_"));
PHPz

严格遵循大小写

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号