话不多说了。直接开始吧  (如果有中文。请注意json只认utf-8编码)

首先你需要有一个json文件数据

{
        "index": {
                 "title": "indexmytitle",
                 "keywords": "中文",
                 "content": "中文",
                "description": "中文"
           },

"goods": {
               "title": "goodsmytitle",
                "keywords": "goodskeywords",
                 "content": "goodsmycontent",
                "description": "goodsmydes"
           },

"shop": {
               "title": "shopmytitle",
                "keywords": "shopkeywords",
               "content": "shopmycontent",
               "description": "shopmudes",
              "description1": "shopmudes"
       }

}

然后呢。你需要在CI里边建一个公共类,,appliction/librarys目录  Json.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Json {

public function some_function($seo_category){
              $path = 'http://127.0.0.1/项目名/public/json.json'; //文件路径
              $json_result= file_get_contents($path); //把json文件读入一个字符串。
              $json_array= json_decode($json_result,true); // json_decode对 JSON 格式的字符串进行编码,转换成数组形式
              return $json_array[$seo_category]; //根据key值判断返回结果
}

}

?>

如果上边的看不明白的话。那就看这个,二者等价,不过这个比较麻烦。如果修改的话还得改这个类库

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Json {

public function some_function($seo_category){

$path = 'http://127.0.0.1/ttzkq/public/json.json'; //文件路径
               $json_result= file_get_contents($path); //把json文件读入一个字符串。
              $json_array= json_decode($json_result,true); // json_decode对 JSON 格式的字符串进行编码,转换成数组形式

//二维数组转一维数组
            foreach($json_array as $k => $v){
                           $$k = $v;
                }
              if($seo_category == 'index'){
               return $index;
             }elseif($seo_category == 'goods'){
                return $goods;
              }elseif($seo_category == 'shop'){
               return $shop;
             }

}
}

?>

然后再看控制器里边,,

public function __construct(){

$this->load->library('json'); //加载json数据类库

}

下边方法里边调用,并传值到html视图里边

$top['json_result']= $this->json->some_function('index');

$this->load->view("templates/top",$top);

最后看视图

<meta name='keywords' content="<?php echo $json_result['keywords'];?>" >
<meta name='content' content="<?php echo $json_result['content'];?>" >
<meta name='description' content="<?php echo $json_result['description'];?>">

原创作品。。仅供学习之用,

php获取json文件数据并动态修改网站头部文件meta信息 --基于CI框架的更多相关文章

  1. jQuery获取JSON格式数据方法

    getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...

  2. js 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息

    文件名的传递 ---全路径获取 $('#file').change(function(){ $('#em').text($('#file').val()); }); 文件名的传递 ---只获取文件名 ...

  3. 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。

    MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...

  4. jQuery中使用Ajax获取JSON格式数据示例代码

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...

  5. qt qml ajax 获取 json 天气数据示例

    依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" ...

  6. Jmeter4.0 _Beanshell解析并获取json响应数据数组长度

    我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...

  7. 专家动态页面的实现——php基于CI框架的学习(二)

    以下是本次学习的页面 打开相关文件,整个定义了一个Expert类 class Expert extends CI_Controller{} 在Expert类里定义了几个参数以及说明其使用了哪些mode ...

  8. ASP.NET 跨域获取JSON天气数据

    前几天做一个门户网站,在首页需要加载气象数据,采用了中央气象局的接口. 刚开始采用JSONP在前台跨域请求数据,没成功~ 后换成在c#后台请求数据返回... 前端代码: $(function () { ...

  9. jQuery调用ajax获取json格式数据

    <body> <div>点击按钮获取音乐列表</div> <input type="button" id="button&quo ...

随机推荐

  1. 类似 select 选择框效果及美化

    网上有各种各样的关于 select 选择框的美化,找了很多,并没有好的样式效果.所以就找了一个利用 ul li 做的类似 select 选择框的效果,不废话了,先上图,效果如下: 对于上图的箭头效果, ...

  2. Swift游戏实战-跑酷熊猫 14 熊猫打滚

    这节内容我们来实现熊猫打滚.思路是这样的,当熊猫起跳时记录他的Y坐标,落到平台上的时候再记录它的Y坐标.两个坐标之间的差要是大于一定数值就判断它从高处落下要进行打滚缓冲.至此跑酷熊猫已经像一个游戏的样 ...

  3. html 字体加粗

    <font style="font-weight: bold;">无敌小昆虫</font> <font>无敌小昆虫</font> f ...

  4. TP隐藏入口

    我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: <IfModule mod_rewrite.c>  RewriteEngine on ...

  5. android05

    #ANR(application not response) 应用程序无响应原因: >主线程里面执行了耗时的操作.就会导致应用程序无响应. <自己动手写操作系统> 带界面的应用程序都 ...

  6. paper 77:[转载]ENDNOTE使用方法,常用!

    一.简介  EndNote是一款用于海量文献管理和批量参考文献管理的工具软件,自问世起就成为科研界的必备武器.在前EndNote时代,文献复习阶段从各大数据库中搜集到的文献往往千头万绪.或重复或遗漏, ...

  7. paper 34 :常见函数的举例(更新ing)2

    在研究opencv,不是很难,但是需要换种思维来认知这个C/C++为编程函数的开源代码库,OK,我现在还是总结一些常用MATLAB的函数,随时更新,下一阶段就是opencv方面的认知了! 1.std ...

  8. drds 分库表的创建速记

    关键词 :dbpartition by hash(`INVESTOR_APPLY_ID`) 格式 :dbpartition by hash(分库字段) 创建例子: CREATE TABLE `BB_J ...

  9. Repeater 时间格式化

    Repeater 时间格式化   <%# Eval("AboutDate","{0:yyyy-MM-dd hh:mm:ss}")%> 个人认为最好用 ...

  10. Power Gating的设计(模块二)

    针对lower power的验证,由cpf/upf来建模,包括: 1)power gating的功能模型(在power gate之后将output force为x) 2)isolation功能模型: ...