codeigniter - APPPATH 在控制器之后返回路径

2023-11-30

我在整理应用程序中的路径时遇到问题。

我正在使用 APPPATH 函数在数据库中读取/写入图像的字符串路径。问题是 APPPATH 将函数放在控制器之后

这是我获取 css 的函数

<link rel="stylesheet" type="text/css" href="<?php echo '../' . APPPATH.'_data/css/style.css'; ?>" />

当我去http://localhost/project/index.php/home效果很好 CSS 链接到http://localhost/project/application/_data/css/style.css哪个是对的

但我有另一个控制器

http://localhost/project/index.php/member/index/1

css 文件路径必须是

href="<?php echo '../../../' . APPPATH."_data/css/style.css"; ?>"

因为否则我的 css 链接会转到

http://localhost/project/index.php/member/application/_data/css/style.css

我使用一个简单的模板结构,其中我将页眉/内容/页脚放在视图中的包含子文件夹中,并将数据发送到内容。相当标准的东西。我只是不明白为什么 APPPATH 不起作用,就好像在调用时它给了我 APPLICATION 文件夹的 PATH 一样,无论使用的是什么类。


APPPATH实际上是针对系统文件,而不是前端资产。这是应用程序文件夹的路径,这就是它的用途。../relative/paths在 Codeigniter 中很少能正常工作,因为它们与当前 URL(而不是视图文件)相关。这实在是让你陷入了困境。

简单的解决方案是使用base_url()相反,但如果你想要更短的路径,这就是我使用的:

define('BASE_URI', str_replace('index.php', '', $_SERVER['SCRIPT_NAME']));

在大多数情况下,结果将是/,但这将考虑子目录中的 CI 安装。对你来说,它应该返回/project/.

不建议将 CSS 和图像等静态文件混合到应用程序文件中。大多数人都会创建一个名为assets or public来存储它们。

<link rel="stylesheet" href="<?php echo BASE_URI.'public/css/style.css'; ?>" />
<link rel="stylesheet" href="<?php echo base_url().'assets/css/style.css'; ?>" />

如果您确实需要将资源存储在应用程序文件夹中,则只需删除所有相对路径即可。从那以后你就不需要它们了APPPATH是绝对的:

<link rel="stylesheet" href="<?php echo APPPATH.'_data/css/style.css'; ?>" />

这应该在任何地方都有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

codeigniter - APPPATH 在控制器之后返回路径 的相关文章

  • CodeIgniter 删除 index.php 和 .htaccess

    我已经为此工作了一个小时 所以我想我不妨问一下 我正在尝试从 CodeIgniter 应用程序的 URL 中删除 index php 但无法执行此操作 该应用程序在我办公室的专用服务器上运行 我通过 url 访问该应用程序http smr
  • Codeigniter:使用数据网格

    我正在寻找使用 CI 实现数据网格 如果使用 ajax 会更好 在Google上搜索我发现了很多关于如何使用的教程和讨论Flexigrid 4 CI or jqGrid 无论如何 我仍然对哪一个可以提供更大的灵活性感到困惑 例如 是否可以设
  • Codeigniter 中的多个查询[重复]

    这个问题在这里已经有答案了 可能的重复 MYSQL在codeigniter中多次插入 https stackoverflow com questions 2790638 mysql multiple insert in codeignite
  • 在 PHP Codeigniter 中向 form_submit 添加一个类

    我正在尝试在 PHP Codeigniter 中向 form submit 添加一个类 我正在使用以下代码 attributes1 array class gt btn btn danger echo form submit loginSu
  • 为什么onClick下一个视频函数,使用YouTube JavaScript Player API,质量下降到默认?

    我在 CodeIgniter 上遇到了这个问题 使用 next video API 函数 单击按钮时新视频的质量比以前的低 所以基本上第一个视频始终处于我建议的质量 而下一个始终处于默认质量 On my template我有这个div di
  • CodeIgniter 控制器构造函数

    我对 codeigniter 很陌生 我想知道控制器中构造函数的含义是什么 我在 codeigniter 教程中看到以下代码 class upload extends CI Controller function construct par
  • 我可以在 CodeIgniter 中使用 MySQLi 和 PHP5 语法吗?

    我正在开始一个新的网络项目 我想我应该尝试使用一个框架 我知道 CodeIgniter 是用 PHP4 编码的 但是在使用 CodeIgniter 编码时 我是否能够使用 MySQL 的 MySQLi 函数以及 PHP5 语法 特别是涉及
  • 登录代码示例已通过 SQL 注入被黑客攻击,尽管 mysql_real_escape_string...

    我使用 CodeIgniter 但在黑客攻击方面遇到了麻烦 是否可以对以下登录代码进行 SQL 注入 function process login username mysql real escape string this gt inpu
  • 代码点火器 JSON

    你好 我使用 codeigniter 然后我从控制器中的数据库中回显输出 然后在我的视图文件中执行以下操作 但它没有显示任何内容 S 我的模型文件 function forumList this gt db gt select oversk
  • 使用 CodeIgniter 加载视图文件夹外的视图

    我需要从以下范围之外加载视图 this gt load gt view 这似乎是从base application views目录 如何从外部访问视图 application 目录 我想我将不得不延长CI Loader class这是最好的
  • 扩展 Codeigniter Exceptions 类以添加自定义方法

    我创建了一个新方法来处理 401 apache 错误 我的核心类扩展了 CI 核心类 但是当我调用方法名称时 我收到此消息 致命错误 调用未定义的函数show 401 in G Path application controllers lo
  • 无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件

    我尝试使用 codeigniter 框架发送邮件 但它会引发错误 无法使用 PHP mail 发送电子邮件 您的服务器可能未配置为使用此方法发送邮件 From prakash t lt email protected cdn cgi l e
  • 将 csv 上传到 Codeigniter

    还有其他人在将 csv 文件上传到 Codeigniter 时遇到问题吗 我收到一条非常烦人的消息 不允许您尝试上传的文件类型 错误 即使我已经非常明确地设置了上传类型 这是我的代码 应该是相当标准的东西 function doUpload
  • CodeIgniter MultiDatabse 连接错误

    我在CodeIgniter中看到很多连接多数据库的方法 教程 离我还很遥远 有人提供我在 CI 中连接多个数据库 这是我在博客中找到的使用方式 抱歉 我不认识博客地址 active group default active record T
  • 如何检查 id 是否已存在 - codeigniter

    我正在尝试检查数据库中的 id 是否已存在 如果不存在则仅插入该 id 而不是其他存在的 id 我尝试执行一个 where 语句来检查数据库中是否存在它们的 id 但即使它们是新信息 它也不会将其插入数据库中 我在这里很迷路 任何指导将不胜
  • 在codeigniter中处理存储过程输出参数

    我在 mysql 中有一个带有输出参数的存储过程 我需要将结果发送到使用 codeigniter 的 php 寄存器模式 public function registerUser data sql call register new use
  • 我如何从mysql获取上周、本周和上个月的记录

    我在 Codeigniter 中以 strtotime 格式存储日期 一周从周日开始 this gt db gt where this gt weight create date lt curdate INTERVAL DAYOFWEEK
  • 常量和 CodeIgniter

    CodeIgniter 中的常量可以用于整个站点中重复出现的文本 例如元标记和元描述 吗 就像是 define METADESCRIPTION This is my site 然后将元描述回显到元标记中 Yes 为了在整个应用程序中进行访问
  • Codeigniter 加入多个条件

    我正在使用 Codeigniter Active Records 课程 我想加入我的users与我的桌子clients表 这样我就可以显示用户的 真实 姓名 而不仅仅是他们的 ID 这是什么clients表看起来像 示例 列 a 1 a 2
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload

随机推荐

  • 如何从 Visual Studio Team Services 将静态网站部署到 Azure

    我有一个想要部署的现有网站Azure using Visual Studio 团队服务 该网站由静态文件组成 不涉及 ASP NET 或其他任何内容 在 Visual Studio Team Services 中 我创建了一个执行的构建np
  • cv::add 在 openCV 中不起作用

    我尝试构建 10 帧的平均值 因此我尝试了 cv Mat frame outf resultframe1 resultframe2 VideoCapture cap 1 cap gt gt frame resultframe1 Mat ze
  • 重写 JS 中的图像构造函数?

    是否可以覆盖ImageJS 中的构造函数 因此 例如 每次new Image 创建后 一条消息会写入控制台吗 尝试这个 function var OriginalImage window Image window Image functio
  • Cocoa:带有用于切换选项卡的工具栏图标的选项卡视图

    各种首选项对话框 Safari Mail Xcode4 和任何使用 NSPreferences 的对话框 和 Xcode4 的组织器使用让人想起选项卡视图的东西 只不过它使用工具栏按钮在选项卡之间切换 这些按钮被 按下 实现这种选项卡视图的
  • 到期时自动刷新 ASP.NET 输出缓存

    我有一些昂贵的页面 我使用 ASP NET 输出缓存进行缓存 如下所示 OutputCache Duration 3600 VaryByParam none 显然 缓存将在 3600 秒 1 小时 后过期 下一个碰巧加载该页面的可怜人将不得
  • Spring 与 Jackson ObjectMapper 和 Java 8 Time 集成 (JSR-310)

    我正在努力配置 Spring Integration DSL 转换器使用的 自定义 ObjectMapper 我收到一个java time Instant我想将其解析为对象属性的 json 表示形式 IE 类型 测试 来源 测试 时间戳 e
  • 重用缓存的 Spark RDD

    Spark 是否有可能在另一个应用程序中 或在同一应用程序的另一个运行中 重用缓存的 RDD JavaRDD
  • 如何从 Capistrano 运行 rake 任务?

    我已经有一个可以在生产服务器上部署我的应用程序的deploy rb 我的应用程序包含一个自定义 rake 任务 lib tasks 目录中的 rake 文件 我想创建一个 cap 任务来远程运行该 rake 任务 更明确一点 在你的 con
  • 发送 APN 返回 BadDeviceToken,DeviceToken 格式应该是什么?

    我的后端使用 Node js 和 Express js 使用npm apn包 它使用 Apple 的新提供商身份验证令牌 iOS应用程序获得许可并将收到的32字节设备令牌发送到后端 编码为base64字符串 但是 当尝试使用设备令牌 编码为
  • SpringMVC-FileUpload - 客户端发送的请求在语法上不正确

    我见过几个关于同一主题的 qt 但我没有发现这个错误的任何线索 我正在研究 POC 并点击下面的链接 http spring io guides gs uploading files 正如上面教程中提到的 在独立模式下 spring emb
  • Sort() 和 CompareTo() 方法的内部工作原理

    我一直在试图弄清楚如何CompareTo 方法在内部有效 但我失败了 我搜索过这个网站并阅读了一些帖子 我想我已经在 MSDN 上看到了关于这个主题的所有内容 但我似乎不明白 一个 MSDN 示例 public int CompareTo
  • Geckodriver Selenium 自动下载 PDF

    我正在尝试在 geckodriver Firefox 中自动下载 pdf 文件 我搜索了 stackoverflow 和其他资源 认为下面的代码应该可以工作 profile set preference browser download f
  • MySQL 连接器/C++ 错误访问崩溃

    在 Xcode 中使用 C 我尝试使用 MySQL Connector C 访问 MySQL 数据库 问题是程序 用 Xcode 编译 总是崩溃 EXC BAD ACCESS code 13 address 0x0 打电话时 driver
  • 如何将画布上的图片复制到剪贴板?

    我有一些 Tkinter 画布以及上面的一些线条和文本图片 有没有简单的方法将其复制到剪贴板 你可以使用 postscript画布的方法来获取内容的封装 PostScript EPS 表示形式 然后 使用 图像魔术师的 Python 绑定
  • 在打字稿中使用联合类型时属性不存在

    假设我有两个接口 interface Box x number y number and interface ColouredBox x number y number colour string 出于这个问题的目的 假设我无法更改接口 现
  • 在运行时更改谷歌地图 v3 中的光标

    The draggableCursor可以在创建时在 google maps Map 对象中设置选项 有什么方法可以在运行时设置此选项吗 或者还有其他干净的方法如何在运行时更改光标 我已经搜索过文档但没有什么比setDraggableCur
  • 使用 Google Cloud Storage 的 Apache Drill

    Apache Drill 功能列表提到它可以从 Google Cloud Storage 查询数据 但我找不到任何有关如何执行此操作的信息 我已经让它在 S3 上工作得很好 但我怀疑我在 Google 云存储方面错过了一些非常简单的东西 有
  • 在android studio上设置flutter错误

    为 android studio 设置 flutter 时出错 我试过 重复这个过程 删除android studio并重新启动 创建项目时出错 无法在 Flutter SDK Target 目录中创建项目 C src flutter pa
  • Facebook 使用 C# 使用 Graph API 检索数据

    我使用 c net 创建了桌面 Facebook 应用程序 我想检索用户的消息 帖子和聊天记录 这是检索用户所有信息的便捷方法 我已经开始使用 Facebook Graph API 但我没有得到任何示例 谁能帮我 聚会有点晚了 但无论如何
  • codeigniter - APPPATH 在控制器之后返回路径

    我在整理应用程序中的路径时遇到问题 我正在使用 APPPATH 函数在数据库中读取 写入图像的字符串路径 问题是 APPPATH 将函数放在控制器之后 这是我获取 css 的函数 当我去http localhost project inde