
php
luyaran
像永远快乐的阳光,追求那至高无上的完美乐园。
展开
-
PHP之POST请求接不到参数
php.ini文件中:#max_input_vars = 1000改为:max_input_vars = 100000原因为post数据包过大,还可以看下下面这个字段的配置:post_max_size = 100M这两个字段调整完事儿之后基本上就没什么问题了。原创 2021-07-15 17:44:35 · 614 阅读 · 1 评论 -
PHP的运行机制与原理(底层)
说到php的运行机制还要先给大家介绍php的模块,PHP总共有三个模块:内核、Zend引擎、以及扩展层;PHP内核用来处理请求、文件流、错误处理等相关操作;Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它;扩展层是一组函数、类库和流,PHP使用它们来执行一些特定的操作。比如,我们需要mysql扩展来连接MySQL数据库;当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交转载 2016-11-10 13:39:49 · 530 阅读 · 0 评论 -
探究php底层运行机制
我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的; PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口); PHP总共有三个模块:内核、Zend引擎、以及扩展层; PHP内核用来处理请求、文件流、错误处理等相关操作; Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它; 扩展层是一组函数、转载 2016-11-10 13:46:45 · 3686 阅读 · 0 评论 -
http
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted N转载 2016-11-11 08:45:58 · 594 阅读 · 0 评论 -
如何把session存储到数据库里
aspnet中,session默认以inproc模式存储,也就是保存在iis进程中,这样有个优点就是效率高,但不利于为本负载均衡扩展。可以把session信息保存在SQL Server中,据说,该种方式比起inproc性能损失为10%-20%。如何实现呢,主要分两步介绍: 1、初始化SQL Server中的状态数据库 ASP.NET SQL Server 提供注册工具转载 2016-11-11 08:51:45 · 3312 阅读 · 0 评论 -
Session缓存和Cache缓存
以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application。其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。Session则保存对话信息。Application则是保存在整个应用程序范围内的信息,相当于全局变量。通常使用最频繁的是Session,那么Session和Cache又有什么区别呢?本节结合使用经验,详细介绍S转载 2016-11-11 08:53:52 · 912 阅读 · 0 评论 -
session运行机制
session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识-称为sessionid,如果已包含一个sessionid则说明以前已经为此客户端创建过session,服务器就按照sessionid把这个session检索出来使转载 2016-11-11 08:58:12 · 492 阅读 · 0 评论 -
Session与Cookie的运行机制
一、HTTP协议与状态保持HTTP协议本身是无状态的,这与HTTP协议本来的目的是相符的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有必要纪录彼此过去的行为,每一次请求之间都是独立的,好比一个顾客和一个自动售货机或者一个普通的(非会员制)大卖场之间的关系一样。然而聪明的人们很快发现如果能够提供一些按需生成的动态信息会使web变得更加有用,就像给有线电视加上点转载 2016-11-11 08:59:34 · 432 阅读 · 0 评论 -
描述session的运行机制和工作原理
浏览器和服务器采用http无状态的通讯,为了保持客户端的状态,使用session来达到这个目的。然而服务端是怎么样标示不同的客户端或用户呢?这里我们可以使用生活中的一个例子,假如你参加一个晚会,认识了很多人,你会采取什么方式来区分不同的人呢!你可能根据脸型,也有可能根据用户的名字,或者人的身份证,即采用一个独一无二的标示。在session机制中,也采用了这样的一个唯一的session_id转载 2016-11-11 09:00:43 · 815 阅读 · 0 评论 -
session与cookie的比较:自定义session存储机制
session与cookie的比较:共同点:都是会话技术,其中session依赖于cookie;数据存储位置:cookie在浏览器端,session在服务器端安全性:cookie低,session高;请求时携带的数据数量:cooie全部,session仅sessionid自定义session存储机制什么叫做session存储机制:转载 2016-11-11 09:02:58 · 1564 阅读 · 0 评论 -
Session机制详解
一、术语session 在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的。 session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这转载 2016-11-11 09:05:07 · 269 阅读 · 0 评论 -
php中session的运行机制
在PHP中session默认是以文件的形式存储于服务器的而客户端和服务端则是通过session_id来完成握手的,默认情况下PHP会将session_id存储于cookie中,用户每次请求时该session_id都会通过cookie传到服务器,下面是php.ini中的相关配置信息:session.save_path="C:\xampp\tmp" 文件的存储路劲session.use_c转载 2016-11-11 09:06:26 · 582 阅读 · 0 评论 -
PHP中的Traits详解
PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法。php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化。具体用法请看下面的代码: trait Drive { public $carName = '转载 2016-11-16 14:29:52 · 277 阅读 · 0 评论 -
Trait
自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。Trait转载 2016-11-16 14:32:59 · 758 阅读 · 0 评论 -
PHP使用traits实现代码复用
PHP5.4后新增traits实现代码复用机制,Trait和类相似,但不能被实例化,无需继承,只需要在类中使用关键词use引入即可,可引入多个Traits,用','隔开。(1)Trait简单使用php trait A { public $var1 = 'test1'; public function test1() { echo 'trait A::test1转载 2016-11-16 14:35:02 · 413 阅读 · 0 评论 -
详解PHP中的Traits
PHP是单继承的语言,在PHP 5.4 Traits出现之前,PHP的类无法同时从两个基类继承属性或方法。php的Traits和Go语言的组合功能类似,通过在类中使用use关键字声明要组合的Trait名称,而具体某个Trait的声明使用trait关键词,Trait不能直接实例化。具体用法请看下面的代码:?12345678910转载 2016-11-16 14:36:53 · 234 阅读 · 0 评论 -
数据库索引的作用和优点缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索转载 2016-11-16 14:56:30 · 262 阅读 · 0 评论 -
PHP 正则表达式常用函数使用小结
在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的。POSIX扩展的正则表达式由POSIX 1003.2定转载 2016-11-16 14:58:16 · 367 阅读 · 0 评论 -
PHP 正则表达式常用函数使用小结
在PHP中有两套正则表达式函数库。一套是由PCRE(Perl Compatible Regular Expression)库提供的。PCRE库使用和Perl相同的语法规则实现了正则表达式的模式匹配,其使用以“preg_”为前缀命名的函数。另一套是由POSIX(Portable Operation System interface)扩展库提供的。POSIX扩展的正则表达式由POSIX 1003.2定转载 2016-11-16 15:00:25 · 438 阅读 · 0 评论 -
PHP常用用的六个处理正则表达式函数
在php中我们经常会用到正则这一块,但php也给我提供了大量的支持正则表达式的函数,各有各的功能和说明,下面我们来了解一下。ec(2);它们都把一个正则表达式作为它们的第一个参数,列出如下:ereg: 最常用的正则表达式函数, ereg 允许我们搜索跟一个正则表达式匹配的一个字符串.ereg_replace: 允许我们搜索跟正则表达式匹配的一个字符串,并用新的字符串代替所有这个转载 2016-11-16 15:02:34 · 580 阅读 · 0 评论 -
namespace即“命名空间”
namespace即“命名空间”,也称“名称空间” 、”名字空间”。VS.NET中的各种语言使用的一种代码组织的形式 通过名称空间来分类,区别不同的代码功能 同时也是VS.NET中所有类的完全名称的一部分。中文名命名空间外文名namespace别 称名称空间形 式代码组织解析命名空间是用来组织和重用代码的[1] 。如同名字一样转载 2016-11-13 20:02:52 · 449 阅读 · 0 评论 -
命名空间的定义与使用
1. 命名空间的定义:由关键字 namespace后边接着命名空间名字,之后接一对花括弧括住的一块声明和定义;[html] view plain copy print?//17.2.A.h 头文件定义命名空间 primer_17_2 namespace primer_17_2 { //定义成员类A class A {转载 2016-11-13 20:04:28 · 2881 阅读 · 0 评论 -
PHP命名空间(Namespace)的使用详解
命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。例:项目中有两个模块:article和message board,它们各自有一个处理用户留言的类Comment。之后我可能想要增加对所有用户留言的一些信息统计功能,比如说我想得到所有留言的数量。这时候调用它们Com转载 2016-11-13 20:06:32 · 274 阅读 · 0 评论 -
面向对象的五大基本原则
面向对象的五大基本原则单一职责原则(SRP)开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(SRP)• 一个类应该仅有一个引起它变化的原因(最简单,最容易理解却最不容易做到的一个设计原则)职员类例子: 比如在职员类里,将工程师、销售人员、销售经理这些情况都放在职员类里考虑,其结果将会非常混转载 2016-11-13 20:08:15 · 250 阅读 · 0 评论 -
面向对象基本原则
面向对象设计的原则是面向对象思想的提炼,它比面向对象思想的核心要素更具可操作性,但与设计模式相比,却又更加的抽象,是设计精神要义的抽象概括。形象地将,面向对象思想像法理的精神,设计原则则相对于基本宪法,而设计模式就好比各式各样的具体法律条文了。面向对象设计原则有6个:开放封闭原则,单一职责原则,依赖倒置原则,Liskov替换原则,迪米特法则和接口隔离原则或合成/聚合复用原则(不同资料略有不转载 2016-11-13 20:10:01 · 502 阅读 · 0 评论 -
面向对象的三个基本特征 和 五种设计原则
一、三个基本特征面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新转载 2016-11-13 20:11:09 · 333 阅读 · 0 评论 -
H5 视频直播那些事
一、移动视频直播发展大家首先来看下面这张图:可以看到,直播从 PC 到一直发展到移动端,越来越多的直播类 App 上线,同时移动直播进入了前所未有的爆发阶段,但是对于大多数移动直播来说,还是要以 Native 客户端实现为主,但是 H5 在移动直播端也承载着不可替代的作用,例如 H5 有着传播快,易发布的优势,同时最为关键的时 H5 同样可以播放直播视频。大家可以看转载 2016-11-17 09:45:12 · 1004 阅读 · 0 评论 -
CGI编程教程(一)
第一章:基础的基础回CGI教程目录1.1 为什么使用CGI? 我没有把什么是CGI放在基础篇的第一段,是因为实在很难说明白到底什么是CGI。而如果你先知道CGI有什么作用,将会很好的理解CGI是什么这个概念。 CGI可以为我们提供许多HTML无法做到的功能。比如 a.一个记数器 b.顾客信息表格的提交以及统计 c.搜索程d.WEB数据库 用Html是没有办法记住客户的任何信息的,就算转载 2016-11-17 13:50:03 · 1630 阅读 · 1 评论 -
CGI编程教程(二)
CGI教程第七章上传文件是建立交互式网站的一个重要手段。一般来说,考虑到CGI程序的安全和一些敏感问题,服务器是不会轻易开放文件上传权利的。今天的程序是由WEBSITE1.1附带的一个upload.exe程序,由VB编写而成。所以我要讲的也就是VB写WIN-CGI时候的一些问题。VB写Win-CGI:在Windows环境下,WEB服务器和Windows CGI之间是通过临时文件转载 2016-11-17 13:51:55 · 1406 阅读 · 0 评论 -
什么叫CGI编程
CGI:Common Gateway Interface CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。 它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HT转载 2016-11-17 13:54:55 · 446 阅读 · 0 评论 -
一个简单的cgi编程例子
工作环境操作系统:Ubuntu 12.04Web服务器:Apache开发语言:Python准备工作安装Apachesudo apt-get install apache2配置Apache修改Apache配置文件(/etc/apache2/httpd.conf),添加以下内容Directory "/var/www/bin-cgi/"> AllowOver转载 2016-11-17 13:56:21 · 1919 阅读 · 0 评论 -
写一个CGI程序并运行
准备Linux和Apache我在/var/www/cgi-bin/下建一个文件get.c#include #include int main(void){ char *data; long m,n; printf("Content-type: text/html\n\n"); printf("Mult Result"); printf(转载 2016-11-17 13:57:27 · 1775 阅读 · 0 评论 -
多线程编程基础知识
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需转载 2016-11-17 14:00:25 · 207 阅读 · 0 评论 -
多线程程序设计经验总结
1.各线程的数据要分离开来,避免使用全局变量。2.如果各线程一定要使用全局变量,哪么该全局变量一定要读写保护(临界区,互斥等技术)。3.不要在线程之间共享GDI对象。4.确定你知道你的线程状态,不要径自结束程序而不等待它们的结束;5.让主线程处理用户界面(UI)。6.千万不要在一个临界区中调用Sleep()或Wait..()API函数;不要长时间锁住一份资源。7.线程之间(转载 2016-11-17 14:02:27 · 1896 阅读 · 0 评论 -
阻塞IO和非阻塞IO的区别
有很多人把阻塞认为是同步,把非阻塞认为是异步;个人认为这样是不准确的,当然从思想上可以这样类比,但方式是完全不同的,下面说说在JAVA里面阻塞IO和非阻塞IO的区别 在JDK1.4中引入了一个NIO的类库,使得Java涉及IO的操作拥有阻塞式和非阻塞式两种,问一下阻塞IO与非阻塞IO有什么区别?有什么优缺点?在阻塞模式下,若从网络流中读取不到指定大小的数据量,阻塞IO就在那里阻塞转载 2016-11-17 14:11:06 · 488 阅读 · 0 评论 -
linux多线程编程
linux多线程设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设计,数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。一、什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,转载 2016-11-17 14:08:02 · 526 阅读 · 0 评论 -
Redis实现多人多聊天室功能
本文为大家分享了Redis支持多人多聊天室功能的设计代码,供大家参考,具体内容如下设计原理左边的一个数据域,代表两个聊天室,聊天室id分别是827,729在聊天室827里,有2个人,分别是jason22,jeff24他们分别已经阅读过聊天室内的id为5和6的消息右边的一个数据域,代表了用户在不同的聊天室,jason22参与了827与729聊天室,在这两个转载 2016-11-14 15:23:13 · 2545 阅读 · 0 评论 -
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
为更好的运用这两天学到的Ajax的相关的知识,就做了个简单的在线网络聊天室。思路实现聊天室,基本上就是通过Ajax来传递数据,让PHP来实现对数据的差入和查找,再交给前端JavaScript实现页面的更新,达到即时聊天的功能。消息显示区消息显示区就是一个DIV块,我们会借助Ajax获取到服务器端信息之后,使用JavaScript来更新页面。?转载 2016-11-14 15:25:13 · 941 阅读 · 0 评论 -
简单的php+mysql聊天室实现方法(附源码)
本文实例讲述了简单的php+mysql聊天室实现方法。分享给大家供大家参考,具体如下:这里介绍的程序分为 8 个文件:frameset框架页面:index.php显示聊天室内容页:show.php用户登陆页面:login.php用户发言页面:speak.php数据库配置文件:config.php页面美化样式:style.css数据库文件:chat.sql发言表情转载 2016-11-14 15:26:35 · 3665 阅读 · 0 评论 -
遮罩层
遮罩层:可以将与遮罩层相链接的图形中的图像遮盖起来。用户可以将多个层组合放在一个遮罩层下,以创建出多样的效果。中文名遮罩层基本含义flash制作软件中的一种功能属 于图层遮罩层的作用是把焦点限制在高亮层上概述基本含义.遮罩层必须至少有两个图层,上面的一个图层为“遮罩层”,下面的称“被遮罩层”;这两个图层中只有相重叠的地方才会被显转载 2016-11-14 18:25:52 · 2570 阅读 · 0 评论