php基础知识(四)

允许用asp风格的标志

asp_tag

显示错误信息到屏幕

Display_errors

设置错误的报告级别

Error_reporting

PHP的安全模式是为了解决共享服务器安全问题而设立的

Safe_mode

出于安全的理由,禁用某些类

Disable_classes

出于安全的原因,禁止某些函数

Disable_functions

脚本解析输入数据允许的最大时间

Max_input_time

脚本执行的时间

Max_execution_time

系统分配给php最大内存数量,防止内存溢出

Memory_limit

在设置的路径寻找文件

Include_path

动态链接扩展库存放的目录

Extension_dir

给php动态添加扩展

Phpize

fopen打开一个网络资源的时候可以设置超时时间吗

Set_time_limit

进程和线程的解释

进程:

进程是程序执行的一个实例。例如我们写的代码,就像地主一样,有土地资源,可以分配给cpu,内存资源

 

线程:

就像农民,执行种地的人,它是进程的一个执行流,不能分配资源,是运行的单位

Php实现多线程

我们知道php本身是不支持多线程的,但是我们的web服务器是支持多线程的,也就是说可以同时让多人一起访问

假设我们现在运行的是a.php这个文件,但是我在程序中又请求web服务器运行另一个b.php,那么这两个文件都是同时执行的

Php实现多线程

Php5可以使用新增的strea_socket_client()函数直接替换掉fsocketopen();

Web服务器 && php

Web服务:

任何一台电脑都可以作为服务器,提供web服务,安装的系统有windows,linux,ngigx,apache等

 

Php:

   是一种工具,一种脚本的语言

   实际上就是WEB服务器上添加一个php解释程序

原型 && 原型链的理解

访问一个不存在的属性和方法时,会不断地向上一级构造器的原型对象寻找。构造器函数里面的prototype属性,指向一个实际存在对象,主要是为了继承

作用域 && 作用域链的理解

作用域,变量的作用域无非就两种,全局变量和局部变量

 

作用域链:从内到外,寻找var的声明语句,直到找到为止

JS执行流和错误影响范围

函数提升

函数比变量优先

函数比字符串优先

常量的定义

 

== && ===

 

If...else..

Swith...case..的优化

If...else...

可能性最大的,尽量往前挪

Switch...case....

判断的内容是一个比较复杂的内容,并且只是整数,浮点,字符串,可以使用这个优化

Static静态变量关键字

初始化一次

初始化需要赋值

每次执行完后,该值会保留

可以记录函数的调用次数,从而在某些条件下成立

修饰的变量是局部,在局部有效

外部文件的导入

 

系统内置函数

 

常见的正则表达式(URL,EMAIL,IP地址,手机号码)

 

Php-FPM

Fast_cgi的管理器,负责管理各个php-cgi进程,可以提升效率,实现平滑重启,可以使php在并发的情况下,也能安全稳定与web服务器合作,完成请求响应过程(高并发的情况下,也可以与web服务器保持联系)

 

Fastcgi program manage

Fastcgi的管理器

负责管理php-cgi的进程

即使在高并发的情况下,也可以与web服务器保持联系

Fastcgi

是对cgi的改进

当请求到达时,处理之;处理之后,并不会结束这个进程而是等待下一次连接)

如何进行防止SQL注入

就是通过把sql命令插入到表单提交或者页面请求的查询字符串,以达到欺骗服务器执行恶意sql命令。

 

  1. 表单尽量post提交
  2. 提交的数据正则验证

3)开启addslashes 转义

4)密码MD5加密

5)Http-referer判断提交者的源头

Php的数据类型

标量

浮点型,整型,字符串型,布尔型

复合

数组,对象

特殊

Null,resource

布尔类型的七种情况

0

0.0

‘0’

‘’

Null

Array()

False

Isset && empty

对不同数据判断的结果

Isset

是否设置,存在,定义,赋值了没有

Empty

值是否为

Div && span

Div

级元素,例如项目中的错误提示

Span

级元素

 

它们之间的互换,可以通过display:inline(行)

Display:block(块)

页面之间传递变量

Get,post,cookie,session,ajax,curl

Get && Post

1)

Post发送请求的查询字符串,是在http消息主体中发送的

Get发送请求的查询字符串,是在url中发送到

2)

get请求在url中传递的参数的字符是有限制的,最大长度是2048个字符,当然也是根据浏览器而定

3)

Get比post更加不安全,因为参数直接暴露在url中,不能用来传递敏感的信息

Mysql_fetch_row()

Mysql_fetch_assoc()

Mysql_fetch_array()

从结果集中取一行作为数字数组,也就是说只能用索引来取值,偏移量从0开始

 

从结果集中取一行作为关联数组,也就是说只能用字段名来取值

 

从结果集中取一行作为数字数组,关联数组

Split && explode

都是可以把字符串转换为数组的格式

 

Split可以用正则表达式作为分割用的标志

Explode只能用固定的字符串

 

Explode速度会更快

不同浏览器的区别

Firefox,chrome

内核webkit   firebug

 

360浏览器

IE6       IEWebDeveloper

Session && Cookie

 

Open_door=>OpenDoor,make_by_id=>MakeById

 

1234567890 =>

1,234,567,890

 

Update A,B set A.c1 = B.c1,A.c2=B.c2 where A.id=B.id;

 

每天0点钟重新启动服务器

Crontab * * * * *(分时日月周)

Crontab 0 6 * * * echo hello world >> /tmp/text.txt

 

Crontab 0 */2  * * * echo xxx;

 

Crontab 0 23-7/2,8 * * *

晚上11点到早上7点之间,每2个小时 早上八点

Linux下指定文件showe.sh,为使用/bin/bash,权限为所有用户可读写,可执行

 

对目录文件为showe.sh,修改其所有人为root

 

通过js创建一个当前窗口的窗口,通过程序实现子窗口对父窗口的操作实现

父:

Function father(){}

子:

Function son(){

  Parent.father();

}

js实现页面的前进,后退操作

History.go( 1 );

History.go( -1 );

IE浏览器和非IE浏览器的划分,区别

 

优化数据表来提高活跃用户的访问度

 

Echo,print(),print_r(),

sprintf()

 

发布了66 篇原创文章 · 获赞 2 · 访问量 4670

猜你喜欢

转载自blog.csdn.net/converoscar/article/details/103886442