版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP+MySQL动态网页技术教程,主编:王彦辉,9.1 项目导引:后台图书管理模块,我们如何完成网站的日常管理呢? 图书的添加、修改 图书类别的添加、修改 网站后台管理系统 图书后台管理系统中的功能只有管理员才可以使用,普通用户没有权限使用。,9.2 项目分析: ECSHOP,商城后台管理系统的功能主要包括用户管理、商品管理、订单管理和信息管理等内容,这里主要介绍图书管理。 下面我们看一下ECSHOP后台管理系统中商品管理部分是如何做的? 1新商品添加,9.2 项目分析: ECSHOP,2商品列表 3商品分类,9.3 技术准备,9.3.1 文件上传 1客户端设置 文件上传是通过HTML表单中
2、的标记选择本地文件实现上传。如果希望表单支持文件上传,则表单标签中的enctype和method属性必须指明相应的值。 enctype属性是设置表单的MIME编码,其值需设定为“multipart/form-data”,它的默认值“application/x-www-form-urlencoded”是不支持文件上传的; method属性值必须为“post”,“get”方式不能上传文件。,9.3 技术准备,9.3.1 文件上传 2服务器端设置 PHP的配置文件 PHP的配置文件php.ini对上传文件的控制,包括是否支持上传、上传文件的临时目录、上传文件的大小、指令执行的时间和指令分配的内存空间
3、。具体相关指令如下: file_uploads:是否支持上传。值为on表示服务器支持上传,值为off表示不支持上传; upload_tmp_dir:上传文件的临时目录。在文件上传到指定位置之前,文件会先传到这个临时目录位置; upload_max_filesize:服务器允许上传文件的最大值。系统默认为2MB,如果上传文件超过这个值,则需要修改这个值; max_execution_time:PHP中一个指令所能执行的最长时间,单位为秒。如果上传文件过大,上传时间超过这个值,文件也不能上传成功; memory_limit :PHP中一个指令所分配的内存空间,单位为MB。它的大小同样会影响到超大文
4、件上传。,9.3 技术准备,9.3.1 文件上传 2服务器端设置 $_FILES全局数组 表单通过POST方法上传的文件信息被存储在$_FILES全局数组中,如上传文件的名称、大小、类型等。,9.3 技术准备,9.3.1 文件上传 2服务器端设置 函数move_upload_file() 文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传文件移动到新位置。如果成功返回ture,否则返回false。函数语法如下: bool move_uploaded_file ( string filename, string destination ) 函数is_uploaded_file()
5、该函数判断指定的文件是否通过HTTP POST上传的,如果是则返回ture。函数语法如下: bool is_uploaded_file ( string filename ) 3文件上传实例,9.4 项目实施,主要实现包括图书查看、添加图书、修改图书和删除图书的功能。 9.4.1图书的添加 实现图书添加的功能需要创建两个页面,添加图书页面(addbook.php)和保存添加图书页面(saveaddbook.php),添加图书页面负责收集图书信息,保存添加图书页面负责接收图书信息并将信息添加到数据库图书表(tb_book)。,9.4 项目实施,9.4.2 图书的查看 单击“管理图书”超链接,弹出
6、图书编辑管理页面,如图96所示。在这里我们可以查看图书、修改图书和删除图书。,9.4 项目实施,9.4.2图书的删除 在图书管理页面(show.php)我们可以删除不需要的图书,图书删除分为一次删除一本图书和一次删除多本图书两种情况。 1删除一本图书 删除一本图书的实现过程为,单击图书管理页面的“删除”超链接(删除),此时将要删除的图书编号传给图书删除页面(delbook.php),图书删除页面根据图书编号执行delete语句将图书删除,,9.4 项目实施,9.4.2图书的删除 2删除多本图书 删除多本图书首先选中要删除图书左边的复选框,单击“删除所选图书”按钮,完成删除过程。下面先来看一下与
7、此相关的图书管理页面中的代码。 提交表单: 表单提交到删除所有图书页面(delallbook.php)。 复选框 value= / 复选框name属性值为图书编号,value属性值为图书名称。,9.4 项目实施,9.4.2图书的删除 2删除多本图书 删除按钮 删除按钮为提交按钮。 删除多本图书实现过程为:删除所有图书页面(delallbook.php)接收表单复选框的值,根据此值执行delete语句删除图书。由于存在多选的情况,复选框要传递过多个值过来,所以我们需要使用list和each数组函数,通过循环的方式逐个提取传递过来的值。,9.4 项目实施,9.4.3图书的修改 单击图书管理页面中的
8、“修改”超链接,进入图书修改页面(changebook.php),如图所示。在此页面显示出原图书信息,用户可以只修改错误信息,不用将所有信息都重新填写。,9.5 技术拓展,9.5.1 文件操作 1打开文件 PHP中使用fopen()函数打开一个文件,语法如下: resource fopen ( string filename, string mode , bool use_include_path , resource zcontext ) 函数返回一个指向这个文件的文件指针。参数列表含义如下: filename:打开文件的URL,包括文件名,可以是绝对路径,也可以是相对路径。 mode:打开
9、文件的模式,主要有只读、只写、读写等模式,具体如表9-2所示: use_include_path:可选参数,决定是否在php.ini中include_path指定的目录中搜索filename文件,如果希望搜索则将其值设为1或ture。 zcontext:可选参数,fopen()函数允许文件名称以协议名称开始,例如“http:/”,并且在一个远程位置打开文件。通过这个参数,还可以支持一些其它的协议。 例9-8,9.5 技术拓展,9.5.1 文件操作 2读取文件 fgetc()函数:从文件指针的位置读取一个字符。 fgets()函数:从文件指针位置读取一行字符串 fread()函数:从文件中读取任
10、意长度的数据,还可以读取二进制文件 例9-9、例9-10 、例9-11,9.5 技术拓展,9.5.1 文件操作 2读取文件 readfile()函数用于读取指定的整个文件,并写入到输出缓冲区,并返回读取的字节数。该函数也不需要使用fopen()函数打开文件。 file()函数用于将整个文件内容读入到一个数组中,数组中的每个元素都是文件中对应的一行。 file_get_contents()函数用于将文件内容读入一个字符串。 例9-12,9.5 技术拓展,9.5.1 文件操作 3写入文件 fwrite()函数 函数用于执行文件的写入操作,函数语法格式如下: int fwrite ( resourc
11、e handle, string string , int length ) fwrite()函数用于把string内容写入文件指针handle处。 例9-13,9.5 技术拓展,9.5.1 文件操作 3写入文件 file_put_contents()函数 函数用于将一个字符串写入文件中。如果成功,则返回写入的字节数,否则返回false。函数语法格式如下: int file_put_contents ( string filename, string data , int flags , resource context ) filename:指定写入的文件名; data:指定写入的数据; f
12、lags:实现对文件的锁定,可选值为FILE_USE_INCLUDE_PATH、FILE_APPEND 和LOCK_EX(独占锁定); context:一个context资源。 例9-14,9.5 技术拓展,9.5.1 文件操作 4关闭文件 文件有打开就有关闭,对文件操作结束后,应该关闭这个文件,因为打开的文件要占用系统资源,同时如果不关闭,也容易引起错误。 fclose()函数用于文件的关闭,函数语法格式如下: bool fclose ( resource handle ) 参数handle指向关闭的文件,函数如果执行成功返回ture,否则返回false。,9.5 技术拓展,9.5.2 目录
13、操作 1浏览目录 opendir()函数:用于打开指定目录,如果成功返回可供其它函数使用的目录句柄,否则返回false。 readdir()函数:返回目录指针位置的一个文件名,文件名以在文件系统中的排序返回。 scandir()函数:用于列出指定路径中的文件和目录,如果执行成功返回包含目录和文件名的数组,否则返回false。 closedir()函数:打开目录之后,我们还需要关闭它,closedir()函数用于关闭指定打开的目录。 例9-15,9.5 技术拓展,9.5.2 目录操作 2创建、删除目录 mkdir()函数:新建一个目录,成功返回ture,否则返回false rmdir()函数:删除目录,目录必须为空目录,而且要有操作权限。如果目录中有文件,使用unlink()函数将目录中的文件删除后,再删除目录。 unlink()函数:删除指定文件,成功返回ture,否则返回false。 例9-16,9.6 本章小结,为了保障大家对商城系统有一个更全面的认识,本章完成了商城后台管理系统中图书管理模块的开发,这也是本书唯一介绍后台模块开发的一章。主要包括图书的添加、修改、删除和查询,在图书添加过程中我们学习了图片上传的方法,介绍了几个文件操作函数。文件操作是PHP中的一项重要内容,在技术拓展部分对此进行了详细介绍。,9.7 强化练习,一、简答题 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢铁生产燃气防护工岗位业务考核试卷含答案
- 烟草物理检验员成果模拟考核试卷含答案
- 初二【物理(北京版)】质量及其测量 学习任务单
- 初二【物理(北京版)】摩擦力 课后练习
- 2026中考第一轮复习(知识能力+解题思路+易错警示+真题演练)第5课时:一次方程(组)及应用(学生版+教师版合并)
- 盐城语文测试题及答案详情
- 2026年春招:中国农业发展题库及答案
- 音程基础练习题目及答案大全
- 发动机供气系统的故障诊断
- 抗日英雄事迹演讲稿
- 2026年甘肃省金昌市规划建筑设计院招聘专业技术人员笔试备考试题及答案详解
- 初中数学三角形全等的判定(SAS)说课课件+人教版数学八年级上册
- 力学科普课件
- 2025年期货高管考试题库及答案
- T-CIAPS0026-2023 电池行业能效对标实施指南 第 3 部分 正极材料
- 专利知识培训教学课件
- 教学课件-交互设计(第二版)-李世国
- 《生物能源》课件
- 教科版九年级物理教案:3.4电路创新设计展示活动
- 装修工程安全专项施工方案
- 心衰评估量表
评论
0/150
提交评论