PHP基础教程-零基础学习PHP-兄弟连PHP教程-文件上传二.ppt_第1页
PHP基础教程-零基础学习PHP-兄弟连PHP教程-文件上传二.ppt_第2页
PHP基础教程-零基础学习PHP-兄弟连PHP教程-文件上传二.ppt_第3页
PHP基础教程-零基础学习PHP-兄弟连PHP教程-文件上传二.ppt_第4页
PHP基础教程-零基础学习PHP-兄弟连PHP教程-文件上传二.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP文件上传 网址 电话 4007001307 文件上传 在B S程序中文件上传已经成为一个常用功能 其目的是客户可以通过浏览器 Browser 将文件上传到服务器 Server 上的指定目录 PHP中文件上传的基础知识表单对上传文件的操作 HTML规范规定上传文件时表单头必须使用文件上传上传文件 提交 注意几个特征属性 POST方法 表单最常用的功能 向目标页面传递变量 我们在上传文件的时候 会在表单中设置相应的属性 来完成文件的传递enctype multipart form data 这样服务器就会知道 我们要传递一个文件 这样服务器可以知道上载的文件带有常规的表单信息 MAX FILE SIZE此字段必须在文件输入字段之前 控制最大的传递文件的大小 字节 真的可以控制吗 设置浏览器文件输入浏览按钮 php ini文件上传参数设置我们在服务器端的php ini中设置对表单传递的数据进一步判断file uploads On Off是否允许文件上传upload max filesize 2M上传的文件的最大大小post max size 8MPOST数据所允许的最大大小upload tmp dir上传文件放置的临时目录表单传递的数据 文件只是其中的一部分 所以设置时 upload max filesize应该小于post max size 超级全局数组 FILESPHP程序中 需要处理的上传数据保存在全局数组中 FILES 超级全局数组 保存 FILES数组中的元素 将HTML表单的type file 标记的名称name userfile 存放在数组中 1 存储在 FILES userfile name 中的值是 客户端文件系统的文件的名称2 存储在 FILES userfile type 中的值是 客户端传递的文件的类型 超级全局数组 FILES3 存储在 FILES userfile size 中的值是 文件的字节的大小4 存储在 FILES userfile tmp name 中的值文件被上传后在服务器存储的临时全路径5 存储在 FILES userfile error 中的值是 文件上传的错误代码 php4 2以后增加的功能 存储在 FILES userfile error 中的值 在 FILES userfile error 中返回的错误代码是在PHP4 2 0版本中引入的 具体如下 值为0 表示没有发生任何错误 值为1 表示上传文件的大小超出了约定值 文件大小的最大值是在PHP配置文件中指定的 该指令是 upload max filesize 值为2 表示上传文件大小超出了HTML表单隐藏域属性的MAX FILE SIZE元素所指定的最大值 值为3 表示文件只被部分上传 值为4 表示没有上传任何文件 错误值对应的常量 UPLOAD ERR OK 对应值0UPLOAD ERR INI SIZE 对应值1UPLOAD ERR FORM SIZE 对应值2UPLOAD ERR PARTIAL 对应值3UPLOAD ERR NO FILE 对应值4 数据格式 MIME 文件上传后的临时存放目录上传的文件被放置到服务器端临时目录 tmp目录里面命名为一个唯一的 随机生成的临时文件名 注 该文件在程序执行完后将自动被删除掉 在删除前可以像本地文件一样操作 tmp目录是默认的上传临时文件存放地点 如果需要更改这个目录 可以编辑 etc php ini文件FileUploads段的upload tmp dir属性值 上传后的文件处理使用is uploaded file 函数来检查此文件是否是上传文件 应该使用move uploaded file 临时路径 临时文件名 目的路径 目的文件名 函数将存放在临时目录下的上传文件拷贝出来 存放到指定目录的指定文件名 如果目标存在将会被覆盖 当配置文件php ini的register globals属性被设置成on的情况将生成全局变量 myfilename等 文件上传后的处理页面上传文件 上传文件 0 echo 上传错误 switch FILES userfile error case1 echo 上传文件大小超出了PHP配置文件中的约定值 upload max filesize break case2 echo 上传文件大小超出了表单中的约定值 max file size break case3 echo 文件只被部分上载 break case4 echo 没有上传任何文件 break exit if FILES userfile type text plain echo 问题 文件不是一个文本文件 exit upfile uploads FILES userfile name if is uploaded file FILES userfile tmp name 判断是否为上传文件if move uploaded file FILES userfile tmp name upfile 移动文件echo 问题 不能将文件移动到指定目录 exit else echo 问题 上传文件不是一个合法文件 echo FILES userfile name exit echo 文件上传成功 当需要上传多个文件的情况 有两种实现的解决方法 使用不同的表单元素使用数组格式的表单元素 与文件系统的交互 除了能够查看并获得与目录有关的信息 我们还可以获得Web服务器上文件的信息 并且与这些文件进行交互 前面我们已经了解了如何读文件和写文件 我们还可以使用许多其他的文件函数 获取文件信息 如下页实例 文件状态函数和他们的运行结果 显示上传目录下文件的相关属性信息Detailsoffile file file current dir file echo Filedata echo Filelastaccessed date jFYH i fileatime file echo Filelastmodified date jFYH i filemtime file echo Filepermissions decoct fileperms file echo Filetype filetype file echo Filesize filesize file bytes echo Filetests echo is dir is dir file true false echo is executable is executable file true false echo is file is file file true false echo is link is link file true false echo is readable is readable file true false echo is writable is writable file true false 使用程序执行函数 现在 我们要将视线从文件系统函数转移到能够运行服务器命令的函数 有4种主要的技术在Web服务器上执行命令 这些技术都非常相似 但有微小区别 exec 函数可以将要执行的命令作为参数 passthru 结果直接输出显示到浏览器 system 也是直接输出显示到浏览器 但有返回值可执行的操作符 执行命令 返回结果 exec ls la result foreach resultas line echo lin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论