《PHP复习资料(7页).doc》由会员分享,可在线阅读,更多相关《PHP复习资料(7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-1、2、3、4、 PHP复习资料-第 - 7 - 页5、 PHP的概念和PHP语言的优势。一种应用广泛、功能强大的嵌入HTML中开放源代码的脚本语言。尤其适合 WEB 开发。 特点:1.开放源代码、支持多种数据库,完全免费。 2.效率高:PHP消耗相当少的系统资源。 3.易学易用,功能强大。跨平台的。可以运行在UNIX、LINUX、WINDOWS下。 4.嵌入HTML:因为PHP可以嵌入HTML语言,学习起来并不困难。 5.PHP5是面向对象的。优势:1.将程序嵌入到HTML文档中执行,执行效率比完全生成HTML标记的CGI要高; 2.在服务器端执行,充分利用服务器的性能 3.将用户经常访问
2、的PHP程序驻留在内存中,其他用户再次访问时不需要重新编译程序,直接执行代码就可以。2、 PHP常用的嵌入方式方法一:PHP标准结构, 方法二:PHP的简短风格,开启 short_open_tag = on方法三:PHP的script风格,. . .echo Hi, Im a PHP script!; 方法四:asp风格,注意:此方法需要在php.ini中去配置才能生效,开启 asp_tags = on3、 PHP的常量和变量变量:变量的名称是对大小写敏感的,正确设置方法是$var_name=value,一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线,不能包含空
3、格。PHP5开始,长格式的PHP预定义变量可以通过设置register_long_arrays来屏蔽。$_COOKIE,经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES,经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。 $_ENV,执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 $_REQUEST,经由 GET,POST 和 COOKIE 机制提交至脚本的变
4、量,因此该数组并不值得信任。$_SESSION,当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。REQUEST_METHOD,获得对应页面方法。如:get、postQUERY_STRING,获取对应页面的请求字符串。DOCUMENT_ROOT,获得根目录。HTTP_REFERER,链接到当前页面的前一页面的 URL 地址 REMOTE_ADDR ,正在浏览当前页面用户的 IP 地址。 用法:$_SERVERQUERY_STRING常量:标识符大写,大小写敏感,在程序脚本执行期间该值不能改变。可以用 define() 函数来定义常量,函
5、数的第一个参数表示常量名,第二个参数表示常量的值。常量名遵循标识符命名规则;只能包含标量数据(boolean,integer,float 和 string) _LINE_,文件中的当前行号。 _FILE_,文件的完整路径和文件名。 _FUNCTION_,函数名称(这是 PHP 4.3.0 新加的)。 _CLASS_,类的名称(这是 PHP 4.3.0 新加的)。 _METHOD_,类的方法名(这是 PHP 5.0.0 新加的) PHP_VERSION,这个是当前 PHP 的版本,如 3.0.8-dev。 PHP_OS PHP,所在的操作系统的名字,如 WINNT。 E_ERROR,这个常量指到
6、最近的错误处。 E_WARNING,这个量数指到最近的警告处。 E_PARSE,本常量为剖析语法有潜在问题处。 E_NOTICE,这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。4、 PHP中常见的数据类型有哪些四种标量类型(布尔型、整型、浮点型、字符串),两种复合类型(数组、对象),一类特殊类型(资源、NULL)5、 PHP的字符串及常用的处理函数 A. 字符串输出函数(1)echo是一个语言结构,而不是一个真正的函数。(2)print($a)输出字符串。若成功则返回 1,失败返回 0(3)print_r($a)可以输出数组,输出成功时返回true(4)var_dump($a
7、)能输出类型、长度、值B. 去除字符串首尾空格的函数: trim ltrim rtrim(别名:chop)C. 转义字符串函数:addslashes()D. 获取字符串长度的函数:strlen()E. 截取字符串长度的的函数:substr()F. 检索字符串函数: strstr() , strpos()G. 替换字符串函数:str_replace()6、 PHP中函数传递参数的方式有哪些,两者有什么区别 按值传递和按地址传递(或按引用传递)(1)按值传递: 传递后的变量会被改变,但不影响原本的变量值。 (2)按地址传递: 使用 & 符号,函数体做的修改,直接影响到函数体外部的该变量的值。7、
8、POST和GET两种方式的区别和联系Post是系统的默认值,用get方式会将表单的值显示在url中,适合传输小量数据。用post方式则不会把表单的值显示在url中,适合大量数据的传送。 $_GET变量和$_POST都是一个包含名称name和值value的数组,这些名称和值都可以利用。8、 数组的概念,数组元素的访问和赋值,数组元素的遍历,常见的数组运算,常见的数组函数,如排序,数组合并为字符串,字符串拆分为数组等 Php中的数组实际上是一个”有序映射”。把值映射到关键字上。数组就是关键字-值的集合。Key可以是integer或者是string,而value可以是任何值。 定义“$aa=arra
9、y(key=value);访问与赋值:$aakey/$aa0;初始化$aa=array(“2”,”d”),这里是可以省略key值。常见的数组运算符:例子名称结果$a + $b联合$a 和 $b 的联合。$a = $b相等如果 $a 和 $b 具有相同的键值对则为 TRUE。$a = $b全等如果 $a 和 $b 具有相同的键值对并且顺序和类型都相同则为 TRUE。$a != $b不等如果 $a 不等于 $b 则为 TRUE。$a $b不等如果 $a 不等于 $b 则为 TRUE。$a != $b不全等如果 $a 不全等于 $b 则为 TRUE。常见的数组函数: each($arr)函数生成一个
10、由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动 。list() 一般与each()元素使用,将数组元素分解一系列的值。count($arr); 获得数组的个数unset($arr0);删除数组中的元素。array_slice($arr,int offset,int length); 获得数组的子集 array_unshift($arr,key=value); 向数组开头插入元素array_push($arr,key=value); 向数组结尾插入元素array_values()函数将返回整个数组元素,并将元素中的键变为数值键。Sort()按值正向排序Asort()同
11、上,且保持关键字和值的对应关系。Rsort()反向排序。Arsort()同上,保持关键字和值的对应关系。Ksort()按照关键字排序,保持对应关系9、 PHP数组与其他语言数组的区别(PPT54)10、 文件的打开、关闭、读写、删除 fopen();fclose();fread(读);fwrite(写);unlink(删除文件); file_exists(文件是否存在);kmdir(新建目录)11、 文件上传需要注意哪些细节?怎么把文件保存到指定目录?怎么避免上传文件重名问题 1.首现要在php.ini中开启文件上传;2.在php.ini中有一个允许上传的最大值,默认是2MB。必要的时候可以更
12、改;3.上传表单一定要记住在form标签中写上enctype=multipart/form-data;4. 提交方式 method 必须是 post;5. 设定 type=file 的表单控件;6.要注意上传文件的大小MAX_FILE_SIZE、文件类型是否符合要求,上传后存放的路径是否存在。可以通过上传的文件名获取到文件后缀,然后使用时间戳+文件后缀的方式为文件重新命名,这样就避免了重名。可以自己设置上传文件的保存目录,与文件名拼凑形成一个文件路径,使用move_uploaded_file(),就可以完成将文件保存到指定目录。12、 session和cookie的概念 cookie是保存在客
13、户端机器的,对于未设置过期时间的cookie,cookie值会保存在机器的内存中,只要关闭浏览器则cookie自动消失。如果设置了cookie的过期时间,那么浏览器会把cookie以文本文件的形式保存到硬盘中,当再次打开浏览器时cookie值依然有效。session是把用户需要存储的信息保存在服务器端。每个用户的session信息就像是键值对一样存储在服务器端,其中的键就是sessionid,而值就是用户需要存储信息。服务器就是通过sessionid来区分存储的session信息是哪个用户的。13、 session和cookie的使用步骤 使用session的步骤:1. 启动session:使
14、用session_start()函数来启动。2. 注册会话:直接给$_SESSION数组添加元素即可。3. 使用会话:判断session是否为空或者是否已经注册,如果已经存在则像普通数组使用即可。4. 删除会话:可以使用unset删除单个session;使用$_SESSION=array()的方式,一次注销所有的会话变量;使用session_destroy()函数来彻底销毁session。cookie怎么使用?1. 记录用户访问的部分信息2. 在页面间传递变量3. 将所查看的internet页存储在cookies临时文件夹中,可以提高以后的浏览速度。创建cookie:setcookie(str
15、ing cookiename , string value , int expire);读取cookie:通过超级全局数组$_COOKIE来读取浏览器端的cookie的值。删除cookie:有两种方法1.手工删除方法:右击浏览器属性,可以看到删除cookies,执行操作即可将所有cookie文件删除。2.setcookie()方法:跟设置cookie的方法一样,不过此时将cookie的值设置为空,有效时间为0或小于当前时间戳。14、 session和cookie的生命周期session释放指定的session变量:unset(),eg:unset($_SESSIONviews)Session_
16、destory()函数彻底终结sessionSession_destory()将重置session,您将失去所有已存储的session数据。cookiecookie在浏览器退出时就会过期,可以设置cookie的expire属性来控制它的生存周期,cookie的终止时间是以Unix的时标来表示的。而删除cookie方法是把过期时间设置为一个以前的时间。Eg:setcookie(“user”,”,time()-3600); 15、 session和cookie的区别 两者最大的区别就是session存储在服务器端,而cookie是在客户端。session安全性更高,而cookie安全性弱。sess
17、ion在web开发中具有非常重要的份量。它可以将用户正确登录后的信息记录到服务器的内存中,当用户以此身份访问网站的管理后台时,无需再次登录即可得到身份确认。而没有正确登录的用户则不分配session空间,即便输入了管理后台的访问地址也不能看到页面内容。通过session确定了用户对页面的操作权限。16、 使用cookie的注意事项 1) setcookie()之前不可以有任何页面输出,就是空格,空白行也不可以;2) setcookie()后,在当前页面调用$_COOKIEcookiename不会有输出,必须刷新或到下一个页面才可以看到cookie值;3) 不同的浏览器对cookie处理不同,客
18、户端可以禁用cookie,浏览器也可以闲置cookie的数量,一个浏览器能创建的cookie数量最多300个,并且每个不可以超过4kb,每个web站点能设置的cookie总数不能超过20个。4) cookie是保存在客户端的,用户禁用了cookie,那么setcookie就不会起作用了。所以不可以过度依赖cookie。17、 如何设置一个cookie的名字为username,值为jack,并且让此cookie一周后失效 setcookie(username,jack,time()+7*24*3600);18、 如何启动、注销session 在标签前面之前使用session_start()函数以
19、启动session,19、 sql语句的使用 要让php执行上面的语句,必须使用mysql_query()函数,此函数用于向MySQL连接发送查询或命令。 创建表:create database “表名”,eg: create database database_name 插入数据:insert into table_name(表名) eg: insert into table_name(a,b); 选取数据:select column_name(“数据库表字段名”) from table_name(“表名”); 更新数据:update table_name set colunm_name=n
20、ew_value where colunm_name=some_value 删除数据:Delete from table_name where colunm_name=some_value 条件查询:select colunm from table where colunm operator valueEg:select column(数据库表字段名) from table(数据库表名) where colunm(“数据库表字段名”) operator(运算符,eg:“+”) value(“条件值”) 数据排序:select colunm_name(s) from table_name ord
21、er by colunm_nameEg:select colunm(数据库表字段名) from table(数据库表名) order by colunm(数据库表字段名)20、 连接数据库操作的步骤是什么?每一步的返回值是什么数据类型?尤其是mysql_query()返回什么数据类型? mysql_connect(,);mysql_select_db(数据库名,$conn);mysql_query(set names utf8);21、 mysql_pconnect()和mysql_connect()有什么区别 第一个是返回结果集中的一行作为索引数组,第二个是返回关联数组,而第三个既可以返回索
22、引数组也可以返回关联数组,取决于它的第二个参数 MYSQL_BOTH MYSQL_NUM MYSQL_ASSOC 默认为MYSQL_BOTH$sql =”select * from table1”;$result = mysql_query($sql);mysql_fetch_array($result, MYSQL_NUM);22、 mysql_fetch_row()、 mysql_fetch_array()、 mysql_fetch_assoc()函数的作用及区别? 这几个函数都是用于获取查询的结果集,只不过获取的方式不一样。 mysql_fetch_row,这个函数是从结果集中取一行作为
23、枚举数据,并作为数组返回。mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。 mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 mysql_fetch_assoc()函数从结果集中返回的数据以数组返回后只能以key为数组下标。 mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc不同点是mysql_fetch_row返回的结果集只能是以0,1,2,3.这种数据索引的方式来读取数据,mysql_fetch_array返回的结果集是既有0,1,2,3这种数字下标,也有以你表字段为名子的keymysql_fetch_assoc返回的结果集只能以key为数组下标23、 利用PHP开发网站的一般步骤 1、可行性分析;2、功能需求分析;3、数据库设计;4、页面设计;5、后台程序开发;6、测试;7、发布