`
flex_莫冲
  • 浏览: 1096074 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

thinkphp config文件将array serialize处理的区别

阅读更多
在config.php中定义array类型的常量,若需要将数组serialize序列化,则需要这样写
'ERROR_CODE'=>serialize(array(
    // Client Error 4xx
    400 => 'Bad Request',
    401 => 'Unauthorized',
    ...
)),
在使用时用
$ERROR_COEDE = unserialize(C("ERROR_CODE"));
return $ERROR_COEDE[$code];


这样是OK的。ERROR_CODE也不会发生变化。

第二种情况,若array的内容比较多,需要提取到独立的文件中,则使用
require(dirname(__FILE__).'/code.php');
加载code.php的ERROR_CODE
<?php
define("ERROR_CODE", serialize(array(
...
)));
?>

使用时也可以直接用unserialize反序列化。
但是若你在config.php设置了
'DEFAULT_FILTER'=>'htmlspecialchars',
就需注意了。因为thinkph会检验有无此配置参数,若存在会用此配置对应的函数处理code.php的内容,于是,获取到的内容都被htmlspecialchars转义过了。比如双引号"会被转义成\"。

因此需要将转义符号去掉再反序列化,否则会返回false。
$HTTP_CODE = stripslashes(ERROR_CODE); 
$ERROR_ARR = unserialize($HTTP_CODE);

分享到:
评论

相关推荐

    ThinkPHP5文件管理平台

    《ThinkPHP5构建的文件管理平台详解》 在IT行业中,高效、有序的文件管理是提升工作效率的关键。ThinkPHP5,作为一个成熟的PHP框架,结合Layui前端组件库,为开发者提供了一种强大的构建文件管理平台的方式。本文将...

    thinkPHP删除单个文件

    本篇文章将详细讲解如何在ThinkPHP框架下实现单个文件的删除操作,包括物理删除和数据库中记录的删除。 首先,我们需要理解文件系统和ThinkPHP框架如何交互。在ThinkPHP中,文件操作主要依赖于PHP内置的文件函数,...

    thinkphp6文件写入漏洞

    例如,ThinkPHP6在处理文件上传或写入时,如果使用了不安全的函数(如file_put_contents)且未对用户输入进行严格的校验,那么攻击者就可以构造特定请求,绕过限制,将文件写入到他们期望的位置。 防范这种漏洞的...

    ThinkPHP文件上传配置

    在本文中,我们将详细介绍ThinkPHP文件上传配置的各个参数,并对每个参数进行详细解释。 首先,maxSize参数用于设置文件上传的最大文件大小,以字节为单位。如果设置为-1,则表示不限大小。这意味着用户可以上传...

    thinkphp多文件上传

    本文将详细介绍如何在ThinkPHP框架中实现多文件上传功能。 首先,我们需要了解HTTP请求中的多部分/form-data格式,这是浏览器用于上传文件的数据格式。在ThinkPHP中,我们通常使用`Request`对象来获取POST请求的...

    thinkphp下 导入导出csv文件

    在ThinkPHP下进行CSV文件的操作,能够帮助开发者快速处理大量数据,比如用户数据的备份、迁移或分析。 标题"thinkphp下导入导出csv文件"涉及到的主要知识点包括: 1. CSV文件格式:CSV文件是以逗号分隔的纯文本...

    ThinkPHP文件缓存类

    下面我们将深入探讨ThinkPHP文件缓存类的相关知识点。 **1. 缓存驱动** ThinkPHP支持多种缓存驱动,包括File(文件)、Redis、Memcache、Mongodb等。文件缓存驱动是最基础且易于理解的一种,它依赖于本地文件系统...

    ThinkPhp日志文件遍历工具

    "ThinkPhp日志文件遍历工具"就是针对ThinkPHP框架的日志文件进行管理和分析的工具。 日志文件遍历工具的主要功能可能包括: 1. **文件搜索与读取**:工具能够自动查找项目目录下的日志文件,通常这些文件位于项目...

    thinkphp配置文件,

    这里是一个thinkphp配置文件,只需要修改数据库名称就可以了,

    Thinkphp3.2文件上传

    在这个场景中,我们将深入探讨如何在ThinkPHP3.2版本中实现文件上传和下载的管理。 1. **文件上传基础** - **文件表单提交**:在HTML中,使用`&lt;input type="file"&gt;`标签可以让用户选择本地文件进行上传。通过设置`...

    ThinkPhp日志文件遍历工具.zip

    本篇文章将围绕"ThinkPhp日志文件遍历工具"这一主题,深入探讨该工具的原理、可能的利用方式以及相应的防护措施,帮助开发者增强对ThinkPhp框架安全性的理解。 一、ThinkPhp日志文件遍历工具简介 "ThinkPhp日志...

    ThinkPHP公共配置文件与各自项目中配置文件组合的方法

    为了提高代码的可维护性和复用性,开发者通常会将通用的配置项集中到一个公共配置文件中,而将项目特有的配置保存在各自的项目文件中。这样可以避免重复代码,便于管理和更新配置。 在ThinkPHP框架中,配置文件是...

    ThinkPHP5 自定义配置页面(静态文件)

    在本教程中,我们将深入探讨如何在ThinkPHP5框架中自定义配置页面,特别是静态文件的设置。首先,我们需要理解ThinkPHP5是一个基于MVC模式的轻量级PHP开发框架,它提供了丰富的功能和灵活的架构,使得开发者可以快速...

    ThinkPHP框架config.php生成器

    因为嫌每次都要写ThinkPHP框架的配置文件很麻烦, 所以小弟写了这个程序,包含我最常用的配置选项,我 自己目前用用足够了,如果各位老大还有要添加的东 西,可以给我留言,我再加. Email:casanova.twy@gmail.com 要先装个...

    通过thinkphp5+PHPOffice读取word文件写入到html文件

    在IT行业中,尤其是在Web开发领域,常常需要处理各种文件格式的转换,比如将Word文档转换为HTML页面。这里我们探讨的是如何使用ThinkPHP5框架结合PHPOffice库来实现这个功能。 首先,ThinkPHP5是一款流行的PHP轻量...

    基于 thinkphp的一个 批量上传并 csv文件导入数据

    在ThinkPHP中,你可以使用`$_FILES`全局变量来接收上传的文件,然后通过`move_uploaded_file()`函数将文件移动到指定目录,如`public/uploads/`。 接下来是CSV文件的解析。CSV文件的数据以逗号分隔,每一行代表一条...

    ThinkPHP文件缓存类.zip

    下面,我们将深入探讨ThinkPHP文件缓存类的相关知识点。 文件缓存是通过将数据存储到文件系统中来实现的,这种缓存方式简单易用,适用于对实时性要求不高的场景。ThinkPHP中的文件缓存类(FileCache)提供了设置、...

    THINKPHP 2.0 核心文件

    《THINKPHP 2.0 核心文件详解》 THINKPHP 2.0 是一个基于MVC架构的PHP开发框架,它以其简洁、高效、易用的特点,在早期的PHP开发领域广受欢迎。核心文件是任何框架的灵魂,THINKPHP 2.0的核心文件构成了整个框架的...

    thinkphp3 与thinkphp5 日志信息泄露检测脚本.zip

    这个压缩包文件“thinkphp3与thinkphp5日志信息泄露检测脚本.zip”提供了针对ThinkPHP 3和ThinkPHP 5版本的检测工具,用于检查可能存在的日志泄露问题。下面我们将深入探讨ThinkPHP框架的日志系统、信息泄露的风险...

    thinkPHP框架做的AJAX登录处理

    在这个实例中,"thinkphp_login"目录包含了实现这个登录功能所需的所有文件,包括控制器、模型、视图以及相关的资源文件。 登录页面通常包含用户名和密码输入框,以及登录按钮。这里的登录界面已经配置好,CSS样式...

Global site tag (gtag.js) - Google Analytics