Welcome 微信登录

首页 / 网页编程 / PHP

PHP Session机制简介及用法

PHP Session机制简介及用法

当服务器创建了一个session(session_start()),服务器将会在服务器的指定文件夹下创建一个session文件,其名称为sessionID,并当做cookie的值发送给浏览器。浏览器每次访问该服务器时便会带着这个cookie,服务器便会识别改sessionID,找到相应的session文件。该文件中存放了若干键值对。该session文件所存放的文件夹可以在配置文件php,ini中修改。cookie 每次请求页面的时候进行验证,如果用户信息存...
深入理解PHP中的global

深入理解PHP中的global

一、实现原理在PHP的函数中,global语法是比较常见的,大家一定都知道一旦在函数中global了某个外部变量后,这个变量就可以在这个函数中使用了,但是也有不少网友不知道这是一个什么实现原理。现在上一个例子,大家一看就知道了:复制代码 代码如下:$globalStr = ".net";function globalTest(){global $globalStr;$globalStr = "jb51".$globalStr;unset($globalSt...
zend framework框架中url大小写问题解决方法

zend framework框架中url大小写问题解决方法

有用过Zend Framework框架开发过项目的网友都知道 Zend Framework (ZF) MVC中的Controller和Action名称默认是不支持大小写的,这对于已经习惯了驼峰式代码风格的开发人员来说,显然是难以接受的。还好可以设定前端控制器FrontController的useCaseSensitiveActions参数来让Zend Framework支持大小写的Controller与Action命名,代码如下:复制代码 代码如下:$fr...
php数组索引的Key加引号和不加引号的区别

php数组索引的Key加引号和不加引号的区别

今天在看一个PHP博客时留意了这么一句话:“PHP中的索引KEY值如果不用引号括起来的话,会将索引KEY值解释为一个常量,当找不到该常量的定义时,才将其解释为一个字符串”。我有点不太相信,因为我一直都会将索引KEY用引号括起来,从而没有出现这种情况。趁现在有时间正好写行代码测试一下:复制代码 代码如下:define("WEBHOST","blog");$wso = array();$wso["blog"] = "www.weixiaodeyu.com";$...
php中Session的生成机制、回收机制和存储机制探究

php中Session的生成机制、回收机制和存储机制探究

1、php中session的生成机制我们先来分析一下PHP中是怎么生成一个session的。设计出session的目的是保持每一个用户的各种状态来弥补HTTP协议的不足(无状态)。我们现在有一个疑问,我们都知道session是保存在服务器的,既然它用于保持每一个用户的状态那它利用什么来区别用户的呢?这个时候就得借助cookie了。当我们在代码中调用session_start();时,PHP会同时往SESSION的存放目录(默认为/tmp/)和客户端的coo...
php中用memcached实现页面防刷新功能

php中用memcached实现页面防刷新功能

有个新需求要加上去,防止用户频繁刷新页面。具体需求是当用户在一分钟之后内请求指定的页面超过100次,就直接拒绝请求。仔细分析后发现这个功能用memcache来做最方便:1、以用户IP和被请求的文件名作为KEY值。2、以memcached的方法increment()来自增记录用户访问次数,increment()是原子性增加,准确。3、设置set()时指定过期时间为60s,这样就统计一分钟的访问次数。于是写了个函数放在项目的初始化文件中调用,函数内容如下:fu...
php中使用array_filter()函数过滤空数组的实现代码

php中使用array_filter()函数过滤空数组的实现代码

今天在翻看手册查询array_filter()的使用细节时,看到了个小关键点:If no callback is supplied, all entries of input equal to FALSE (see converting to boolean) will be removed. 如果没有给出回调函数,所有的等于 FALSE 的元素将会被移除掉,这不正好可以用来过滤一些有空元素的数组吗?连忙写个例子测试一下想法:复制代码 代码如下:$entr...
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法

PHP针对常规模板引擎中与CSS/JSON冲突的解决方法

本文实例讲述了PHP针对常规模板引擎中与CSS/JSON冲突的解决方法,有一定的实用价值,具体分析如下:本文主要针对对象为Smarty与Dwoo在Smarty中经常会出现和CSS/JS的语法存在冲突的情况,因为二者都需要使用大括号{}。虽然可以改Smarty的界定符,但你在一个现存系统中,去修改所有相关代码,是不划算的。解决方法如下:1. 避免同时出现通过外部引用的方式避免。问题是避无所避。所以这种情况只适合少量简单的情况。2. 修改Smarty界定符3....
几道坑人的PHP面试题 试试看看你会不会也中招

几道坑人的PHP面试题 试试看看你会不会也中招

这几道题是在德问上看到的,感觉挺有意思,拿来给大家分享其中的陷阱,看看你会不会掉入其中。第一题复制代码 代码如下:$arr = array(0=>1,"aa"=>2, 3, 4);foreach($arr as $key=>$val){ print($key == "aa" ? 5 : $val);}输出结果是多少?如果的答案是1534就掉入陷阱了。先看看这个数组最终形成的结构:复制代码 代码如下:Array( [0] =>...
PHP框架Swoole定时器Timer特性分析

PHP框架Swoole定时器Timer特性分析

本文所述PHP框架Swoole定时器Timer特性分析具有很好的实用价值,值得PHP程序开发人员学习借鉴。具体分析如下:首先,在各种业务型系统中,往往需要服务器在后台扫描相关数据,触发相应的统计、通知等操作。比如对于一个项目管理系统,需要每天的特定时间内,统计每项任务的执行、到期情况、整个项目的进度等等,根据统计情况,做相应通知处理;这样一个场景,如何编程实现?用一般的编程方式,是无法实现自动触发与统计的。当然,简单的思路,是利于系统的cron job机制...
php版本的cron定时任务执行器使用实例

php版本的cron定时任务执行器使用实例

本文实例讲述了php版本的cron定时任务执行器使用方法,是非常实用的一个功能应用。具体方法如下:由于服务器crontab只能精确到分钟,因此程序的起点也是分钟。该功能一共包括三个部分:一、配置文件:配置文件是用来返回要执行的定时任务文件,注意一下*的使用就行了,有两个模式,就是Y-m-d H:i :年 月 日 时 分N H:i :星期(1 - 7|周一 - 周日) 时 分配置文件croning.php如下:/** * 任务管理器配置文件 ** Y-m-d...
PHP防止表单重复提交的几种常用方法汇总

PHP防止表单重复提交的几种常用方法汇总

本文较为详细的汇总了PHP防止表单重复提交的几种常用方法,在PHP程序开发中有着很高的实用价值。具体方法如下:1. 使用JS让按钮在点击一次后禁用(disable)。采用这种方法可以防止多次点击的发生,实现方式较简单。缺点是若客户端禁止JavaScript脚本,则失效。2. 在提交成功后执行页面重定向(redirect)。转到提交成功信息页面。特点:避免F5重复提交,消除浏览器前进和后退按钮可导致的同样问题。3. 表单隐藏域中存放session(表单被请求...
phpword插件导出word文件时中文乱码问题处理方案

phpword插件导出word文件时中文乱码问题处理方案

最近一个项目开发要用到PHP技术导出Word文档,比较了几种方案,首先是使用Microsoft Office自带的ActiveX/COM组件,比如Word.Application,这种方式的优点是格式兼容度高,可以生成纯doc的Word2003格式文档,缺点一是比较占资源(调用会启动一个WINWORD.EXE进程),不适合Web多用户访问使用;二是PHP这种Web开发技术大多数是跑在Linux服务器上,当然也就无法使用Windows下的技术了,平台可移植和...
php实现文件下载代码分享

php实现文件下载代码分享

简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可。所示:<a href=”http://www.jb51.net/download/book.rar”>下载文件</a>如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户“下载”还是“打开”等处理方式。但如果...
<< 411 412 413 414 415 416 417 418 419 420 >>