【问题标题】:Codeigniter - dynamically getting relative/absolute path outside of application folderCodeigniter - 动态获取应用程序文件夹之外的相对/绝对路径
【发布时间】:2013-03-06 09:03:40
【问题描述】:

我正在尝试在应用程序文件夹之外并与应用程序文件夹处于同一级别的临时缓存文件夹。这是为了在将图像移出现场之前将其存储片刻。

我正在尝试获取用户的 Facebook 个人资料图片并将其保存到我的服务器。我有一个图像存储解决方案,需要我拍摄照片并重命名,然后将其传递到相应的位置进行存储。我的想法是使用file_get_contents() 和file_put_contents() 我可以在相应地处理它的同时存储该文件片刻,然后将其复制/移动到我的存储方法中。但是我不希望临时目录位于应用程序文件夹中 - 我希望它与应用程序和系统文件夹处于同一级别。我的问题是访问相对路径或绝对路径(在应用程序文件夹的同一级别)而不对其进行硬编码。

使用(__dir__)、(__file__) 和realpath(APPPATH) 之类的东西只会在应用程序文件夹中给我结果。所以我希望其他人知道实现这一目标的方法

【问题讨论】:

    标签: php codeigniter relative-path


    【解决方案1】:

    在根目录的index.php 文件中,定义了最有用的路径,以便您可以在其余代码中使用它们。在这种情况下你试过FCPATH吗?

    FCPATH   -> '/'
    BASEPATH -> '/system/'
    APPPATH  -> '/application/'
    

    更新: 如 cmets 中所述,以上路径示例仅用于提供概述。为了提高项目的安全性,BASEPATH 和 APPPATH 不会位于 FCPATH 内部,而是位于公共 www/root 目录之外。

    【讨论】:

    • 甚至没想过要回顾 index.php,很久以前我就了解了APPPATH,而且我很少需要其他任何东西。但这正是我所寻求的。谢谢
    • 不客气。你知道如何使用APPPATH,但不知道如何使用FCPATH,我觉得有点奇怪:)
    • 我自己也觉得有点奇怪哈哈,想到有一段时间我在 CI 上爬来爬去想弄清楚类似的事情。但它总是逃避我的简单事情,更何况当我深入战壕试图从一个或另一个方面弄清楚其他事情时,然后转身让它变得比需要的更困难。具有讽刺意味的是,在您回复之前,我什至考虑进入 index.php 并将自己定义为最后的努力,然后您回答并提醒我已经有:-)
    • 为了最安全的 CI 安装,system 和 application 文件夹应该安装在www 或公共根目录的外部。请注意,在这种情况下,FCPATH 不会位于system 和application 的根目录下。 FCPATH 代表www 目录(index.php 所在的位置;FC = 前端控制器)。换句话说,此答案中显示的目录结构仅在system 和application 文件夹安装在www 目录中时才有效。
    • 没错,斯帕基。添加到答案中。
    猜你喜欢
    • 2013-12-20
    • 1970-01-01
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2015-09-09
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多