php文件上传、下载和删除示例
上传、下载、删除php文件的总体思路如下,具体内容如下
一、文件上传
1.在上传文件的区域制作div1
2.将显示文件的区域设为div2
3.提交表单并上传文件
4.服务器接收带有$ _ FILE[名称]的文件数据
5.处理数据,查看上传的文件中是否有错误
错误如下: 1)。上传的文件超过了php.ini 2)中upload_max_filesize选项的限制值。上传文件的大小超过了HTML表单3中MAX_FILE_SIZE选项指定的值)。仅上传文件的一部分4)。没有文件被上传5)。找不到临时文件夹6)。文件写入失败
6.将上传的文件从临时文件夹移动到指定文件夹进行存储。有了这个move_uploaded_file函数,可以把4.56步做成一个函数直接调用。注意,如果php代码要嵌入到:文件的上传页面中,文件扩展名不能是html,而是. php。
二.文件下载
1.客户端将文件名发送给服务器
2.服务器接收文件名并添加文件路径。
3.然后将文件数据发送回客户端
通常这四个步骤是:
//1.重置响应类型$ info=getimagesize ($ rootpath)。$ file);标题('内容类型: '。$ info[' mime ']);//2.用于下载的文件名头(' content-disposition :附件;文件名='。$ file);//3.指定文件大小标题(' content-length: '。filesize ($ rootpath)。$ file));//4.响应内容readfile($rootPath)。$ file);三.文档删除
一.客户端将文件名发送给服务器
2.服务器接收文件名并添加文件路径。
3.使用取消链接功能删除文件
这里有一个上传、下载、删除图片的小例子。效果如图:所示
文件上传、下载和删除界面,代码如下: html php嵌入式3360
!-选择上传文件区域-Div id=' Div 1 ' formaction=' uploadfile . PHP '方法=' post ' enctype=' multipart/form-data ' Div id=' Div 2 ' input type=' text ' id=' show '/Div id=' Div 3 ' span class=' text '选择文件/span输入类型=' hidden ' name=' max _ file _ size ' value=' 100000000 '!-表单上传文件大小限制为100M,也可以设置其他值-input type=' file ' id=' upfile ' name=' file '/div input type=' submit ' value=' upload ' class=' upload '/form/div!-选择上传文件区域结束-!-上传文件显示区-div id=' show-file ' ul id=' ul-list '!-嵌入php代码,以便动态显示上传的文件-?Php //1。打开目录$dir=opendir('上传');//2.遍历目录$ I=0;while($ file=readdir($ dir)){ if($ file==' . '||$file==' . ')继续;echo ' liimg src=' upload/{ $ file } ' width=' 120 ' height=' 100 ' diva href=' delete file . PHP?name={ $ file } ' delete/a/span/div spana href=' download.php?name={ $ file } ' download/a/span/Li ';} //3.关闭目录close dir($ dir);-嵌入php代码结束- /ul/div!-上传文件显示区结束- css代码:
* {边际:0划水:0;} ul、李{列表式:无;} /*最外层的div,目的是包住选择文件按钮,显示框和上传文件按钮*/# div 1 { width :405 px;高度:38 px相对位置:余量:40px汽车;} /*第二层差异包住显示框和上传按钮,右浮动*/# div 2 { float : right;} #div2输入{ width :250 pxhire : 38pxfont-size : 22px;} /*第三层差异包住输入文件*/# div 3 {左浮动:宽度宽度:140像素高度:38 px相对位置:背景: URL('上传。jpg ')无重复0 0;左边距left: 5px} #div3输入{位置:绝对值;宽度:100%;高度: 100%;top :0 left : 0;z-index : 1;opa city 33600 }/*图片(选择文件按钮)上的文字*/.文本{显示:块;宽度宽度:140像素重量:像素绝对位置:top : 0;左转:0文本对齐:中心;线高: 38pxfont-size : 28px颜色:兰花;} /*上传按钮的位置*/.上传{宽度:70像素重量:像素背景:绿色黄色;绝对位置:top :0 right :-75px;} /*鼠标停留在选择文件按钮上的时候切换图片*/# div 3:悬停{后台: URL('上传。jpg’)无重复0-40px;} /*显示图片的div-ul,采用左浮动的方式,一行行的排列图片*/# show-file { width :760 px;高度:445 px相对位置:margin:10px汽车;飞越:卷轴;} # show-file ul { width :760 px;高度:445 px绝对位置:top :0 left :0 } # show-file ul Li {左侧浮动:宽度宽度:120像素高度: 100像素;margin: 3px 0 0 3px相对位置:} /*删除按钮的位置和一些样式*/# show-file ul Li div { display : none;opa城市3360 0;宽度:40 px高度: 20像素绝对位置:left: 5pxbottom: 5px背景:金;color : # d32a 0ez-index : 1;光标:指针;文本对齐:中心;线高: 20px} /*下载按钮的位置和一些样式*/# show-file ul Li span {显示:无;opa城市3360 0;宽度:40 px高度: 20像素绝对位置:右: 5pxbottom: 5px背景:金;color : # d32a 0ez-index : 1;光标:指针;文本对齐:中心;线高: 20px} /*把a标签的自带样式去掉,鼠标停留时字体换颜色*/#show-file ul li span,div a { text-decoration : none颜色:橙色;} #show-file ul li span,div a :悬停{ color : # 00fa 00}js代码:
脚本src=' http : move。js '/脚本脚本窗口。onload=function(){//当选择文件后,会触发这个事件$(“向上文件”).onchange=function(){ $(“show”).价值=this.value//把获取到的文件伪路径传到编辑框};//显示下载按钮var aLi=$('ul-list ').getElementsByTagName(' Li ');//图片var aSpan=$('ul-list ').getElementsByTagName(' span ');//下载按钮var aDiv=$('ul-list ').getElementsByTagName(' div ');//删除按钮for(var I=0;iaLi.lengthi ) { aLi[i].索引=我;aLi[i].onmousemove=function(){ AsPAN[this。索引]。风格。display=' blockADiv[这个。索引]。风格。display=' blockstartMove(aDiv[this.index],{ opa city 3360100 });//缓冲运动startMove(aSpan[this.index],{ opa city 3360100 });//缓冲运动};aLi[i].onmouseout=function(){ AsPAN[this。索引]。风格。显示='无';ADiv[这个。索引]。风格。显示='无';startMove(aDiv[this.index],{ opa city 33600 });//缓冲运动startMove(aSpan[this.index],{ opa city 33600 });//缓冲运动} } };函数$(id){返回文档。getelementbyid(id);}/脚本处理上传文件的服务器端编程语言(专业超文本预处理器的缩写)文件:
include(' my functions . PHP ');if(uploadFile('file ',' upload ')标头(' location : upfilanddownlile . PHP ');//我会马上跳回原来的页面,感觉页面没有一个php文件:跳转到这里处理下载的文件。
include(' my functions . PHP ');//获取要下载的文件名(加上路径)$ file=$ _ GET[' name '];$ RootPath=' upload/';downLoadFile($file,$ rootPath);Php文件: $ filename='上传/'。$ _获取['name']以处理已删除的文件;取消链接($ FIlename);标头(' location : upfilanddownlile . PHP ');其中,move.js在之前的JS perfect motion frame文章中被提到。myFunctions.php的函数如下:/* * * @函数下载文件* @ param $文件名下载* @param $rootPath文件根目录路径* @返回none */函数下载文件($file,$ rootpath) {//1。重置响应类型$ info=getimagesize ($ rootpath)。$ file);标题('内容类型: '。$ info[' mime ']);//2.用于下载的文件名头(' content-disposition :附件;文件名='。$ file);//3.指定文件大小标题(' content-length: '。filesize ($ rootpath)。$ file));//4.响应内容readfile($rootPath)。$ file);}/* * * @函数上传文件* @param $name表单名称输入类型=' file' name=' pic'/* @ param $ path上传后,存储文件的路径* @return返回新的文件路径,表示上传成功,false失败*/函数上传文件($name,$ path) {$ file=$ _ files [$] //1。如果($file['error'] 0) {//获取错误消息switch($ file[' error ']){ case 1: $ info='上传的文件超过了php.ini中upload_max_filesize选项的限制值';打破;案例2: $info=“上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。”;打破;案例3: $info=“仅上传了部分文件。”;打破;案例4: $info=“未上传文件。”;打破;案例6: $info=“找不到临时文件夹”;打破;案例7: $info=“文件写入失败。”;打破;} die('上传错误,原因: '。$ info);} //2.如果$(文件['size'] 10000000)//byte是单位die(上传文件的大小超过限制!),则过滤上传文件的大小);//3.上传的文件名定义为$ newfile=null$ file info=path info($ file[' name ']);//解析上传的文件名do {$ newfile=date ('ymdhis ')。'.'。$ fileinfo ['扩展名'];}while(file_exists($path)。'/'.$ new file));//4.执行文件上传//如果(is _ uploaded _ file($ file[' tmp _ name ']){//执行文件上传(将文件移动到指定目录)如果(move _ uploaded _ file($ file[' tmp _ name '],路径$则确定是否为上传文件。否则返回false} else die('不是上传文件!');}上传文件时注意设置HTML表单、服务器、帖子的大小限制。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:php文件上传、下载和删除示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。