You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter3中PHP、JS、JSON文件的正确路径定义方案咨询

解决CodeIgniter 3中多文件路径统一问题的方法

一、HTML/PHP页面中的路径处理

直接用CodeIgniter内置的base_url()函数生成绝对路径,先确保配置正确:

  1. 打开application/config/config.php,设置正确的根URL:
$config['base_url'] = 'https://myadmin.com/';
  1. 在HTML里引用资源时拼接路径:
<script src="<?php echo base_url('assets/js/pages/api-key.init.js'); ?>"></script>

这样会直接生成https://myadmin.com/assets/js/pages/api-key.init.js,彻底避免路径错误。

二、JS文件中的路径处理

方法1:定义全局基础URL变量

在页面<head>或所有JS脚本之前,插入全局变量定义:

<script>
// 把PHP的根路径传递给JS全局变量
var baseURL = "<?php echo base_url(); ?>";
</script>

之后在api-key.init.js里用这个变量拼接路径:

// 原路径:assets/json/api-key-list.json
var jsonUrl = baseURL + 'assets/json/api-key-list.json';
// 发起请求
fetch(jsonUrl)
  .then(response => response.json())
  .then(data => {
    // 处理数据逻辑
  });

方法2:用<base>标签统一根路径

在页面<head>中添加<base>标签,指定所有相对路径的根:

<base href="<?php echo base_url(); ?>">

这样页面内所有相对路径(包括JS里的assets/json/api-key-list.json)都会自动以https://myadmin.com/为根,完全不需要修改JS代码。

注意:<base>会影响所有相对路径,包括锚点链接(比如<a href="#top">会变成https://myadmin.com/#top),如果有这类锚点,直接写#top即可,不要加相对路径前缀。

三、JSON文件中的图片路径处理

  • 如果用了<base>标签,JSON里的assets/img/avatar-1.jpg会自动解析为https://myadmin.com/assets/img/avatar-1.jpg,无需修改JSON内容。
  • 如果没使用<base>,可以在JS获取JSON数据后动态拼接路径:
fetch(baseURL + 'assets/json/api-key-list.json')
  .then(response => response.json())
  .then(data => {
    // 遍历数据修改图片路径
    data.forEach(item => {
      item.imgUrl = baseURL + item.imgUrl; // 假设JSON中图片字段为imgUrl
    });
    // 后续渲染逻辑
  });

内容的提问来源于stack exchange,提问作者Marcin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:50:25