php获取json文件数据并动态修改网站头部文件meta信息 --基于CI框架
话不多说了。直接开始吧 (如果有中文。请注意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框架的更多相关文章
- jQuery获取JSON格式数据方法
getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...
- js 获取input type="file" 选择的文件大小、文件名称、上次修改时间、类型等信息
文件名的传递 ---全路径获取 $('#file').change(function(){ $('#em').text($('#file').val()); }); 文件名的传递 ---只获取文件名 ...
- 以流方式读写文件:文件菜单打开一个文件,文件内容显示在RichTexBox中,执行复制、剪切、粘贴后,通过文件菜单可以保存修改后的文件。
MainWindow.xaml文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...
- jQuery中使用Ajax获取JSON格式数据示例代码
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...
- qt qml ajax 获取 json 天气数据示例
依赖ajax.js类库,以下代码很简单的实现了获取天气json数据并展示的任务 [TestAjax.qml] import QtQuick 2.0 import "ajax.js" ...
- Jmeter4.0 _Beanshell解析并获取json响应数据数组长度
我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...
- 专家动态页面的实现——php基于CI框架的学习(二)
以下是本次学习的页面 打开相关文件,整个定义了一个Expert类 class Expert extends CI_Controller{} 在Expert类里定义了几个参数以及说明其使用了哪些mode ...
- ASP.NET 跨域获取JSON天气数据
前几天做一个门户网站,在首页需要加载气象数据,采用了中央气象局的接口. 刚开始采用JSONP在前台跨域请求数据,没成功~ 后换成在c#后台请求数据返回... 前端代码: $(function () { ...
- jQuery调用ajax获取json格式数据
<body> <div>点击按钮获取音乐列表</div> <input type="button" id="button&quo ...
随机推荐
- Simple GDB case
to be added... gdb a.out [Inferior 1 (process 9718) exited with code 05] (gdb) list Line number ...
- spring mvc 的Controller类默认Scope是单例(singleton)的
使用Spring MVC有一段时间了,之前一直使用Struts2,在struts2中action都是原型(prototype)的, 说是因为线程安全问题,对于Spring MVC中bean默认都是(s ...
- 数据库调优过程(二):找到IO不存在问题,而是sqlserver单表写入IO瓶颈
物理机上测试IO是否为瓶颈: 使用一个死循环insert into测试数据库最大写入速度: use [iTest]; declare @index int; ; begin ; INSERT into ...
- NHibernate 3.2+的 Map by Code 实例
NHibernate 3.2+的 Map by Code 的文档真的很少,除了Fabio Maulo的2篇blog(顺带说李永京的翻译,没任何新的研究). 让人感慨NH的没落, 也许从没有流行过. 在 ...
- 《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes
表.栈和队列是最简单和最基本的三种数据结构.基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了声明. 本章学习重点: 理解抽象数据类 ...
- C++新手之培养良好的编程风格
内功深厚的武林高手出招往往平淡无奇.同理,编程高手也不会用奇门怪招写程序.良好的编程风格是产生高质量程序的前提. 下面以C++为例,来给大家介绍. 一. 命名约定 有不少人编程时用拼音给函数或变量命名 ...
- linux代码段,数据段,BSS段, 堆,栈(二)
//main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char ...
- sql xpath 查找包含
select xcontent.query('/root//*[contains(text()[1], ''中'')]'), column1 from table
- beta2阶段组员分数分配
小组名称:nice! 小组成员:李权 于淼 刘芳芳 韩媛媛 宫丽君 项目内容:约跑app 分数分配规则 个人贡献分=项目基础分*0.5+个人代码贡献量*0.5 基本贡献分 个人代码贡献量 个人贡献分 ...
- 8007003Windows Update遇到未知错误
如果在检查更新时收到 Windows Update 错误 80070003,则需要删除 Windows 用于标识计算机更新的临时文件.若要删除临时文件,请停止 Windows Update 服务,删除 ...