首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP自动加载忽略条件

问PHP自动加载忽略条件
EN

Stack Overflow用户
提问于 2013-01-05 19:22:34
回答 3查看 1.6K关注 0票数 4

有没有办法用一些“不区分大小写的标志”来调用require_once?在windows中是可以的,但是linux区分大小写。有什么方法可以覆盖吗?谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-01-05 19:25:26

当然,加载

代码语言:javascript
复制
strtolower($className . ".php")

用小写字母命名你的文件。

无论您尝试如何加载文件,都只会加载小写版本。

票数 2
EN

Stack Overflow用户

发布于 2013-01-05 19:47:43

您可以在每次加载时使用它,自动加载适当的类。你必须根据你的项目来改变目录。您可以使用echo或print_r来打印每次调用时加载的类。另外,所有的类名都不能有相同的格式,例如,className.class.php,Dashboard.class.php,Category.class.php。您可以使用ucword将第一个字母变为大写。

代码语言:javascript
复制
function __autoload($className) 
{
    if (file_exists(__DIR__ . '/../library/' . strtolower($className) . '.class.php')) 
    {
        require_once(__DIR__ . '/../library/' . strtolower($className) . '.class.php');
    }
    else if (file_exists(__DIR__ . '/../application/controllers/' . strtolower($className) . '.php')) 
    {
        require_once(__DIR__ . '/../application/controllers/' . strtolower($className) . '.php');
    }
    else if (file_exists(__DIR__ . '/../application/models/' . strtolower($className) . '.php')) 
    {
        require_once(__DIR__ . '/../application/models/' . strtolower($className) . '.php');
    }
}
票数 0
EN

Stack Overflow用户

发布于 2013-01-05 20:28:04

只需在您header.php或其他常见文件中包含一些其他位置,

代码语言:javascript
复制
<?php
$filename = basename($_SERVER['SCRIPT_FILENAME']);
$request = basename($_SERVER['SCRIPT_NAME']);

if($filename != $request)
  die('Case of filename and request do not match!');
?>

我认为这可以帮助你解决你的问题。另请参阅以下位置https://superuser.com/questions/431342/linux-both-case-sensitive-and-case-insensitive-and-always-inconvenient

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14171273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档