目录
APP 接口开发及读取静态缓存,app读取静态缓存
首页 后端开发 php教程 APP 接口开发及读取静态缓存,app读取静态缓存_PHP教程

APP 接口开发及读取静态缓存,app读取静态缓存_PHP教程

Jul 12, 2016 am 09:07 AM
数据缓存

APP 接口开发及读取静态缓存,app读取静态缓存

<span> 1</span> <?<span>php
</span><span> 2</span> <span>/*</span><span>*
</span><span> 3</span> <span> * Description: App 接口
</span><span> 4</span> <span> * Create date:2015-10-19 13:36
</span><span> 5</span> <span> * Author: zhaoyingnan
</span><span> 6</span> <span> *</span><span>*/</span>
<span> 7</span> <span>class</span><span> Response
</span><span> 8</span> <span>{
</span><span> 9</span>     <span>/*</span><span>*
</span><span>10</span> <span>     * 综合方式
</span><span>11</span> <span>     * @author  zhaoyingnan 2015-10-19 11:24
</span><span>12</span> <span>     * @param   int         $iCode  状态码
</span><span>13</span> <span>     * @param   string      $sMsg   提示信息                                                                                                                                                 
</span><span>14</span> <span>     * @param   mix         $mixData    data
</span><span>15</span> <span>     * @param   string      $sType  接口返回类型
</span><span>16</span> <span>     * @return  string
</span><span>17</span> <span>     *</span><span>*/</span>
<span>18</span>     <span>static</span> <span>function</span> show(<span>$iCode</span>, <span>$sMsg</span> = '', <span>$mixData</span> = '', <span>$sType</span> = 'json'<span>)
</span><span>19</span> <span>    {   
</span><span>20</span>         <span>if</span>(!<span>is_numeric</span>(<span>$iCode</span><span>))
</span><span>21</span>             <span>return</span> ''<span>; 
</span><span>22</span>         <span>$arData</span> =   <span>array</span><span>(
</span><span>23</span>             'code'      =>  <span>$iCode</span>,
<span>24</span>             'message'   =>  <span>$sMsg</span>,
<span>25</span>             'data'      =>  <span>$mixData</span>
<span>26</span> <span>        );  
</span><span>27</span>         <span>switch</span>(<span>$sType</span><span>)
</span><span>28</span> <span>        {   
</span><span>29</span>         <span>case</span> 'array':
<span>30</span>             <span>echo</span> '<pre class="brush:php;toolbar:false">'<span>;
</span><span>31</span>             <span>print_r</span>(<span>$arData</span><span>);
</span><span>32</span>             <span>echo</span> '
登录后复制
'; 33 break; 34 case 'xml': 35 self::xml($arData); 36 break; 37 default: 38 self::json($arData); 39 } 40 } 41 42 /** 43 * json 44 * @author zhaoyingnan 2015-10-19 10:21 45 * @param array $arData 46 * @return string 47 **/ 48 private function json($arData= array()) 49 { 50 exit(json_encode($arData)); 51 } 52 53 /** 54 * xml 55 * @author zhaoyingnan 2015-10-19 10:21 56 * @param array $arData 57 * @return string 58 **/ 59 private function xml($arData = array()) 60 { 61 header('Content-Type:text/xml'); 62 $sXml = ''; 63 $sXml .= "\n"; 64 $sXml .= "\n"; 65 $sXml .= self::xmlEncode($arData); 66 $sXml .= "\n"; 67 exit($sXml); 68 } 69 70 /** 71 * xml encode 72 * @author zhaoyingnan 2015-10-19 11:10 73 * @param array $arData 74 * @return string 75 **/ 76 private function xmlEncode($arData = array()) 77 { 78 if(!$arData) 79 return ''; 80 $sXml = $sAttr= ''; 81 foreach($arData as $mKey => $mVal) 82 { 83 if(is_numeric($mKey)) 84 { 85 $sAttr = " id='{$mKey}'"; 86 $mKey = 'item'; 87 } 88 $sXml .= is_array($mVal) ? self::xmlEncode($mVal) : "<{$mKey}{$sAttr}>{$mVal}$mKey}>"; 89 } 90 return $sXml; 91 } 92 } 93 ?>
<span> 1</span> <?<span>php                                                                                                                                                                                        
</span><span> 2</span> <span>/*</span><span>*
</span><span> 3</span> <span> * Description: 静态缓存
</span><span> 4</span> <span> * Create date:2015-10-19 13:36
</span><span> 5</span> <span> * Author: zhaoyingnan
</span><span> 6</span> <span> *</span><span>*/</span>
<span> 7</span> <span>class</span> <span>file</span>
<span> 8</span> <span>{
</span><span> 9</span>     <span>private</span> <span>$sExt</span>   =   '.txt'<span>;
</span><span>10</span> 
<span>11</span>     <span>/*</span><span>* 
</span><span>12</span> <span>     * 生成/删除/获取 缓存
</span><span>13</span> <span>     * @author  zhaoyingnan 2015-10-19 11:33
</span><span>14</span> <span>     * @param   string      $sKey       文件名
</span><span>15</span> <span>     * @param   mix         $mixValue   被缓存的数据(为''时表示获取缓存,为NUll时为删除缓存文件,否则为生成缓存)
</span><span>16</span> <span>     * @param   string      $sPath      文件保存的路径
</span><span>17</span> <span>     * @param   int         $iCacheTime 缓存时间(秒),0为永不过期    
</span><span>18</span> <span>     * @return  boolean
</span><span>19</span> <span>     *</span><span>*/</span>
<span>20</span>     <span>public</span> <span>function</span> cacheData(<span>$sKey</span>, <span>$mixValue</span> = '', <span>$sPath</span> = '/alidata/www/lianxi/file/', <span>$iCacheTime</span> = 0<span>)
</span><span>21</span> <span>    {   
</span><span>22</span>         <span>$sPath</span>  =   <span>rtrim</span>(<span>$sPath</span>, '/').'/'<span>;
</span><span>23</span>         <span>$sFileName</span>  =   <span>$sPath</span>.<span>$sKey</span>.<span>$this</span>-><span>sExt;
</span><span>24</span>         <span>//</span><span>生成缓存文件</span>
<span>25</span>         <span>if</span>(<span>$mixValue</span><span>)
</span><span>26</span> <span>        {   
</span><span>27</span>             <span>if</span>(!<span>is_dir</span>(<span>$sPath</span><span>))
</span><span>28</span>                 <span>mkdir</span>(<span>$sPath</span>, 0777<span>);
</span><span>29</span>             <span>$iCacheTime</span> =   <span>sprintf</span>('%011d', <span>$iCacheTime</span><span>);
</span><span>30</span>             <span>return</span> <span>file_put_contents</span>(<span>$sFileName</span>, <span>$iCacheTime</span>.json_encode(<span>$mixValue</span><span>));
</span><span>31</span> <span>        }   
</span><span>32</span> 
<span>33</span>         <span>if</span>(<span>is_file</span>(<span>$sFileName</span>) && !<span>$mixValue</span><span>)
</span><span>34</span> <span>        {   
</span><span>35</span>             <span>if</span>(<span>is_null</span>(<span>$mixValue</span><span>))
</span><span>36</span> <span>            {   
</span><span>37</span>                 <span>//</span><span>删除缓存</span>
<span>38</span>                 <span>return</span> <span>unlink</span>(<span>$sFileName</span><span>);
</span><span>39</span> <span>            }   
</span><span>40</span>                 
<span>41</span>             <span>//</span><span>获取缓存</span>
<span>42</span>             <span>$sContent</span>   =   <span>file_get_contents</span>(<span>$sFileName</span><span>);
</span><span>43</span>             <span>$iTime</span> = <span>intval</span>(<span>substr</span>(<span>$sContent</span>, 0, 11<span>));
</span><span>44</span>             <span>$sContent</span>   =   <span>substr</span>(<span>$sContent</span>, 11<span>);
</span><span>45</span>             <span>if</span>(<span>$iTime</span> != 0 && <span>$iTime</span> + <span>filemtime</span>(<span>$sFileName</span>) < <span>time</span><span>())
</span><span>46</span> <span>            {   
</span><span>47</span>                 <span>//</span><span>过期了,删除</span>
<span>48</span>                 <span>unlink</span>(<span>$sFileName</span><span>);
</span><span>49</span>                 <span>return</span> <span>FALSE</span><span>;
</span><span>50</span> <span>            }   
</span><span>51</span>             <span>return</span> <span>$sContent</span><span>;
</span><span>52</span> <span>        }
</span><span>53</span>         <span>else</span>
<span>54</span> <span>        {
</span><span>55</span>             <span>return</span> <span>FALSE</span><span>;
</span><span>56</span> <span>        }
</span><span>57</span> <span>    }
</span><span>58</span> <span>}
</span><span>59</span> ?>
登录后复制
<span> 1</span> <?<span>php                                                                                                                                                                                        
</span><span> 2</span> <span>include</span> 'response.php'<span>;
</span><span> 3</span> <span>include</span> 'file.php'<span>;
</span><span> 4</span> <span>$_GET</span>['format'] =   <span>isset</span>(<span>$_GET</span>['format']) && <span>in_array</span>(<span>$_GET</span>['format'], <span>array</span>('xml', 'json', 'array')) ? <span>$_GET</span>['format'] : 'json'<span>;
</span><span> 5</span> <span>$file</span> = <span>new</span> <span>File</span><span>();
</span><span> 6</span> <span>//</span><span>删除缓存
</span><span> 7</span> <span>//exit(var_dump($file->cacheData('index_cache', null)));</span>
<span> 8</span> 
<span> 9</span> <span>if</span>(!<span>$sContent</span> = <span>$file</span>->cacheData('index_cache'<span>))
</span><span>10</span> <span>{
</span><span>11</span>     <span>//</span><span>echo "获取缓存失败\n";
</span><span>12</span> <span>    //echo "获取数据\n";</span>
<span>13</span>     <span>$arData</span> =   <span>array</span><span>(
</span><span>14</span>         'id'    =>  1,  
<span>15</span>         'name'  =>  'TeddyNan',
<span>16</span>         'sex'   =>  23, 
<span>17</span>         <span>array</span><span>(
</span><span>18</span>             'nani'=><span>array</span><span>(
</span><span>19</span>                 'g'=>'gg',
<span>20</span>                 2,  
<span>21</span>                 4   
<span>22</span> <span>            )   
</span><span>23</span> <span>        )   
</span><span>24</span> <span>    );  
</span><span>25</span>     <span>//</span><span>echo "生成缓存\n";</span>
<span>26</span> 
<span>27</span>     <span>$file</span>->cacheData('index_cache', <span>$arData</span>, '/alidata/www/lianxi/file/', 0<span>); 
</span><span>28</span>     Response::show(0, 'success', <span>$arData</span>, <span>$_GET</span>['format'<span>]);
</span><span>29</span> <span>}
</span><span>30</span> <span>else</span>
<span>31</span> <span>{
</span><span>32</span>     Response::show(0, 'success', json_decode(<span>$sContent</span>, <span>TRUE</span>), <span>$_GET</span>['format'<span>]);
</span><span>33</span> <span>}
</span><span>34</span> ?>
登录后复制

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1061852.htmlTechArticleAPP 接口开发及读取静态缓存,app读取静态缓存 1 ? php 2 /* * 3 * Description: App 接口 4 * Create date:2015-10-19 13:36 5 * Author: zhaoyingnan 6 * */ 7 class Res...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP与MySQL索引的数据缓存和内存表的优化策略及其对查询性能的影响 PHP与MySQL索引的数据缓存和内存表的优化策略及其对查询性能的影响 Oct 15, 2023 pm 12:01 PM

PHP与MySQL索引的数据缓存和内存表的优化策略及其对查询性能的影响引言:在开发和优化数据库驱动的应用程序时,PHP和MySQL是非常常见的组合。而在PHP与MySQL的交互中,索引的数据缓存和内存表的优化策略对于提高查询性能起着至关重要的作用。本文将介绍关于PHP与MySQL索引的数据缓存和内存表的优化策略,并结合具体代码示例详细说明它们对查询性能的影响

如何选择适合PHP项目的数据缓存方案? 如何选择适合PHP项目的数据缓存方案? Aug 10, 2023 pm 09:21 PM

如何选择适合PHP项目的数据缓存方案?随着互联网的高速发展,大数据时代的到来,对于PHP项目来说,如何高效地处理数据访问和缓存成为了一个重要的问题。数据缓存作为一个常用的性能优化手段,可以有效地提升网站的响应速度和用户体验。然而,在选择适合PHP项目的数据缓存方案时,我们需要考虑一系列的因素,包括缓存类型、数据访问模式、缓存策略等。本文将从这些方面对如何选择

Vue项目开发中的数据缓存与本地存储经验分享 Vue项目开发中的数据缓存与本地存储经验分享 Nov 03, 2023 am 09:15 AM

Vue项目开发中的数据缓存与本地存储经验分享在Vue项目的开发过程中,数据缓存和本地存储是两个非常重要的概念。数据缓存可以提升应用程序的性能,而本地存储则可以实现数据的持久化存储。在本文中,我将分享一些在Vue项目中使用数据缓存和本地存储的经验和实践。一、数据缓存数据缓存是将数据存储在内存中,以便后续快速获取和使用。在Vue项目中,常用的数据缓存方式有两种:

Python实现无头浏览器采集应用的页面数据缓存与增量更新功能剖析 Python实现无头浏览器采集应用的页面数据缓存与增量更新功能剖析 Aug 08, 2023 am 08:28 AM

Python实现无头浏览器采集应用的页面数据缓存与增量更新功能剖析导语:随着网络应用的不断普及,许多数据采集任务需要对网页进行抓取和解析。而无头浏览器通过模拟浏览器的行为,可以实现对网页的完全操作,使得页面数据的采集变得简单高效。本文将介绍使用Python实现无头浏览器采集应用的页面数据缓存与增量更新功能的具体实现方法,并附上详细的代码示例。一、基本原理无头

PHP和swoole如何实现高效的数据缓存和存储? PHP和swoole如何实现高效的数据缓存和存储? Jul 23, 2023 pm 04:03 PM

PHP和swoole如何实现高效的数据缓存和存储?概述:在Web应用开发中,数据的缓存和存储是非常重要的一部分。而PHP和swoole提供了一种高效的方法来实现数据的缓存与存储。本文将介绍如何使用PHP和swoole来实现高效的数据缓存和存储,并给出相应的代码示例。一、swoole简介:swoole是一个针对PHP语言开发的,高性能的异步网络通信引擎,它可以

队列技术在PHP与MySQL中的延迟消息处理和数据缓存的应用 队列技术在PHP与MySQL中的延迟消息处理和数据缓存的应用 Oct 15, 2023 am 08:03 AM

队列技术在PHP与MySQL中的延迟消息处理和数据缓存的应用引言:随着互联网的快速发展,实时数据处理需求越来越高。而传统的数据库操作方式在处理大量实时数据时往往会出现性能瓶颈。为了解决这个问题,队列技术应运而生,它可以帮助我们实现数据的异步处理,提高系统的性能和响应速度。本文将介绍队列技术在PHP与MySQL中的延迟消息处理和数据缓存的应用,并通过具体的代码

UniApp实现数据缓存与持久化存储的最佳方案 UniApp实现数据缓存与持久化存储的最佳方案 Jul 05, 2023 pm 08:33 PM

UniApp是一种基于Vue.js的跨平台开发框架,可以将一个项目同时编译成多个平台上可运行的应用程序,如iOS、Android等。在开发移动应用时,数据的缓存和持久化存储是非常重要的方面,本文将介绍UniApp中实现数据缓存与持久化存储的最佳方案,并提供相应的代码示例。一、数据缓存在移动应用开发中,为了提高应用的用户体验,减少网络请求的次数和数据加载的时间

使用PHP实现实时聊天功能的数据缓存和缓存策略 使用PHP实现实时聊天功能的数据缓存和缓存策略 Aug 25, 2023 pm 09:36 PM

使用PHP实现实时聊天功能的数据缓存和缓存策略引言:在现代社交媒体和互联网应用中,实时聊天功能已经成为用户交互的重要组成部分。为了提供高效的实时聊天体验,数据缓存和缓存策略成为开发者们关注的重点。本文将介绍使用PHP实现实时聊天功能的数据缓存和缓存策略,并提供相关的代码示例。一、数据缓存的作用数据缓存是为了减轻数据库负担和提高系统的响应速度。在实时聊天功能中

See all articles