PHP复习资料 6页

  • 63.50 KB
  • 2022-07-28 发布

PHP复习资料

  • 6页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
1、PHP的概念和PHP语言的优势。一种应用广泛、功能强大的嵌入HTML中开放源代码的脚本语言。尤其适合WEB开发。特点:1.开放源代码、支持多种数据库,完全免费。2.效率高:PHP消耗相当少的系统资源。3.易学易用,功能强大。跨平台的。可以运行在UNIX、LINUX、WINDOWS下。4.嵌入HTML:因为PHP可以嵌入HTML语言,学习起来并不困难。5.PHP5是面向对象的。优势:1.将程序嵌入到HTML文档中执行,执行效率比完全生成HTML标记的CGI要高;2.在服务器端执行,充分利用服务器的性能3.将用户经常访问的PHP程序驻留在内存中,其他用户再次访问时不需要重新编译程序,直接执行代码就可以。2、PHP常用的嵌入方式方法一:PHP标准结构,方法二:PHP的简短风格,注意:此方法需要在php.ini中去配置才能生效,开启short_open_tag=on方法三:PHP的script风格,...echo"Hi,I'maPHPscript!";方法四:asp风格,<%…%><%echo"Hi,I'maPHPscript!";%>注意:此方法需要在php.ini中去配置才能生效,开启asp_tags=on3、PHP的常量和变量变量:变量的名称是对大小写敏感的,正确设置方法是$var_name=value,一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线,不能包含空格。PHP5开始,长格式的PHP预定义变量可以通过设置register_long_arrays来屏蔽。$_COOKIE,经由HTTPCookies方法提交至脚本的变量。类似于旧数组$HTTP_COOKIE_VARS数组(依然有效,但反对使用)。$_FILES,经由HTTPPOST文件上传而提交至脚本的变量。类似于旧数组$HTTP_POST_FILES数组(依然有效,但反对使用)。$_ENV,执行环境提交至脚本的变量。类似于旧数组$HTTP_ENV_VARS数组(依然有效,但反对使用)。$_REQUEST,经由GET,POST和COOKIE机制提交至脚本的变量,因此该数组并不值得信任。$_SESSION,当前注册给脚本会话的变量。类似于旧数组$HTTP_SESSION_VARS数组(依然有效,但反对使用)。REQUEST_METHOD,获得对应页面方法。如:get、postQUERY_STRING,获取对应页面的请求字符串。DOCUMENT_ROOT,获得根目录。HTTP_REFERER,链接到当前页面的前一页面的URL地址REMOTE_ADDR,正在浏览当前页面用户的IP地址。用法:$_SERVER['QUERY_STRING']常量:标识符大写,大小写敏感,在程序脚本执行期间该值不能改变。可以用define()函数来定义常量,函数的第一个参数表示常量名,第二个参数表示常量的值。常量名遵循标识符命名规则;只能包含标量数据(boolean,integer,float和string)__LINE__,文件中的当前行号。-6-\n__FILE__,文件的完整路径和文件名。__FUNCTION__,函数名称(这是PHP4.3.0新加的)。__CLASS__,类的名称(这是PHP4.3.0新加的)。__METHOD__,类的方法名(这是PHP5.0.0新加的)PHP_VERSION,这个是当前PHP的版本,如'3.0.8-dev'。PHP_OSPHP,所在的操作系统的名字,如'WINNT'。E_ERROR,这个常量指到最近的错误处。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)能输出类型、长度、值B.去除字符串首尾空格的函数:trimltrimrtrim(别名:chop)C.转义字符串函数:addslashes()D.获取字符串长度的函数:strlen()E.截取字符串长度的的函数:substr()F.检索字符串函数:strstr(),strpos()G.替换字符串函数:str_replace()6、PHP中函数传递参数的方式有哪些,两者有什么区别按值传递和按地址传递(或按引用传递)(1)按值传递:传递后的变量会被改变,但不影响原本的变量值。(2)按地址传递:使用&符号,函数体做的修改,直接影响到函数体外部的该变量的值。7、POST和GET两种方式的区别和联系Post是系统的默认值,用get方式会将表单的值显示在url中,适合传输小量数据。用post方式则不会把表单的值显示在url中,适合大量数据的传送。$_GET变量和$_POST都是一个包含名称[name]和值[value]的数组,这些名称和值都可以利用。8、数组的概念,数组元素的访问和赋值,数组元素的遍历,常见的数组运算,常见的数组函数,如排序,数组合并为字符串,字符串拆分为数组等Php中的数组实际上是一个”有序映射”。把值映射到关键字上。数组就是关键字->值的集合。Key可以是integer或者是string,而value可以是任何值。定义“$aa=array(key=>value);访问与赋值:$aa[key]/$aa[0];初始化$aa=array(“2”,”d”),这里是可以省略key值。常见的数组运算符:例子名称结果$a+$b联合$a和$b的联合。-6-\n$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)函数生成一个由数组当前内部指针所指向的元素的键名和键值组成的数组,并把内部指针向前移动。list()一般与each()元素使用,将数组元素分解一系列的值。count($arr);获得数组的个数unset($arr[0]);删除数组中的元素。array_slice($arr,intoffset,[intlength]);获得数组的子集array_unshift($arr,key=>value);向数组开头插入元素array_push($arr,key=>value);向数组结尾插入元素array_values()函数将返回整个数组元素,并将元素中的键变为数值键。Sort()按值正向排序Asort()同上,且保持关键字和值的对应关系。Rsort()反向排序。Arsort()同上,保持关键字和值的对应关系。Ksort()按照关键字排序,保持对应关系9、PHP数组与其他语言数组的区别(PPT54)10、文件的打开、关闭、读写、删除fopen();fclose();fread(读);fwrite(写);unlink(删除文件);file_exists(文件是否存在);kmdir(新建目录)11、文件上传需要注意哪些细节?怎么把文件保存到指定目录?怎么避免上传文件重名问题1.首现要在php.ini中开启文件上传;2.在php.ini中有一个允许上传的最大值,默认是2MB。必要的时候可以更改;3.上传表单一定要记住在form标签中写上enctype="multipart/form-data";4.提交方式method必须是post;5.设定type="file"的表单控件;6.要注意上传文件的大小MAX_FILE_SIZE、文件类型是否符合要求,上传后存放的路径是否存在。可以通过上传的文件名获取到文件后缀,然后使用时间戳+文件后缀的方式为文件重新命名,这样就避免了重名。可以自己设置上传文件的保存目录,与文件名拼凑形成一个文件路径,使用move_uploaded_file(),就可以完成将文件保存到指定目录。12、session和cookie的概念cookie是保存在客户端机器的,对于未设置过期时间的cookie,cookie值会保存在机器的内存中,只要关闭浏览器则cookie自动消失。如果设置了cookie的过期时间,那么浏览器会把cookie以文本文件的形式保存到硬盘中,当再次打开浏览器时cookie值依然有效。-6-\nsession是把用户需要存储的信息保存在服务器端。每个用户的session信息就像是键值对一样存储在服务器端,其中的键就是sessionid,而值就是用户需要存储信息。服务器就是通过sessionid来区分存储的session信息是哪个用户的。13、session和cookie的使用步骤使用session的步骤:1.启动session:使用session_start()函数来启动。2.注册会话:直接给$_SESSION数组添加元素即可。3.使用会话:判断session是否为空或者是否已经注册,如果已经存在则像普通数组使用即可。4.删除会话:可以使用unset删除单个session;使用$_SESSION=array()的方式,一次注销所有的会话变量;使用session_destroy()函数来彻底销毁session。cookie怎么使用?1.记录用户访问的部分信息2.在页面间传递变量3.将所查看的internet页存储在cookies临时文件夹中,可以提高以后的浏览速度。创建cookie:setcookie(stringcookiename,stringvalue,intexpire);读取cookie:通过超级全局数组$_COOKIE来读取浏览器端的cookie的值。删除cookie:有两种方法1.手工删除方法:右击浏览器属性,可以看到删除cookies,执行操作即可将所有cookie文件删除。2.setcookie()方法:跟设置cookie的方法一样,不过此时将cookie的值设置为空,有效时间为0或小于当前时间戳。14、session和cookie的生命周期session释放指定的session变量:unset(),eg:unset($_SESSION[‘views’])Session_destory()函数彻底终结sessionSession_destory()将重置session,您将失去所有已存储的session数据。cookiecookie在浏览器退出时就会过期,可以设置cookie的expire属性来控制它的生存周期,cookie的终止时间是以Unix的时标来表示的。而删除cookie方法是把过期时间设置为一个以前的时间。Eg:setcookie(“user”,””,time()-3600);15、session和cookie的区别两者最大的区别就是session存储在服务器端,而cookie是在客户端。session安全性更高,而cookie安全性弱。session在web开发中具有非常重要的份量。它可以将用户正确登录后的信息记录到服务器的内存中,当用户以此身份访问网站的管理后台时,无需再次登录即可得到身份确认。而没有正确登录的用户则不分配session空间,即便输入了管理后台的访问地址也不能看到页面内容。通过session确定了用户对页面的操作权限。16、使用cookie的注意事项1)setcookie()之前不可以有任何页面输出,就是空格,空白行也不可以;2)setcookie()后,在当前页面调用$_COOKIE['cookiename']不会有输出,必须刷新或到下一个页面才可以看到cookie值;3)不同的浏览器对cookie处理不同,客户端可以禁用cookie,浏览器也可以闲置cookie的数量,一个浏览器能创建的cookie数量最多300个,并且每个不可以超过4kb,每个web站点能设置的cookie总数不能超过20个。4)cookie是保存在客户端的,用户禁用了cookie,那么setcookie就不会起作用了。所以不可以过度依赖cookie。-6-\n17、如何设置一个cookie的名字为username,值为jack,并且让此cookie一周后失效setcookie(‘username’,’jack’,time()+7*24*3600);18、如何启动、注销session在标签前面之前使用session_start()函数以启动session,19、sql语句的使用要让php执行上面的语句,必须使用mysql_query()函数,此函数用于向MySQL连接发送查询或命令。创建表:createdatabase“表名”,eg:createdatabasedatabase_name插入数据:insertintotable_name(表名)eg:insertintotable_name(a,b);选取数据:selectcolumn_name(“数据库表字段名”)fromtable_name(“表名”);更新数据:updatetable_namesetcolunm_name=new_valuewherecolunm_name=some_value删除数据:Deletefromtable_namewherecolunm_name=some_value条件查询:selectcolunmfromtablewherecolunmoperatorvalueEg:selectcolumn(数据库表字段名)fromtable(数据库表名)wherecolunm(“数据库表字段名”)operator(运算符,eg:“+”)value(“条件值”)数据排序:selectcolunm_name(s)fromtable_nameorderbycolunm_nameEg:selectcolunm(数据库表字段名)fromtable(数据库表名)orderbycolunm(数据库表字段名)20、连接数据库操作的步骤是什么?每一步的返回值是什么数据类型?尤其是mysql_query()返回什么数据类型?mysql_connect('','','');mysql_select_db('数据库名',$conn);mysql_query("setnamesutf8");21、mysql_pconnect()和mysql_connect()有什么区别第一个是返回结果集中的一行作为索引数组,第二个是返回关联数组,而第三个既可以返回索引数组也可以返回关联数组,取决于它的第二个参数MYSQL_BOTHMYSQL_NUMMYSQL_ASSOC默认为MYSQL_BOTH$sql=”select*fromtable1”;$result=mysql_query($sql);mysql_fetch_array($result,MYSQL_NUM);22、mysql_fetch_row()、mysql_fetch_array()、mysql_fetch_assoc()函数的作用及区别?这几个函数都是用于获取查询的结果集,只不过获取的方式不一样。mysql_fetch_row,这个函数是从结果集中取一行作为枚举数据,并作为数组返回。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这种数字下标,也有以你表字段为名子的key-6-\n  mysql_fetch_assoc返回的结果集只能以key为数组下标23、利用PHP开发网站的一般步骤1、可行性分析;2、功能需求分析;3、数据库设计;4、页面设计;5、后台程序开发;6、测试;7、发布-6-

相关文档