文件上传原理及应用
来源:互联网 发布:软件系统开发招标书 编辑:程序博客网 时间:2024/06/05 09:34
<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:595.3pt 841.9pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:42.55pt;mso-footer-margin:49.6pt;mso-paper-source:0;layout-grid:15.6pt;}div.Section1{page:Section1;}-->
本讲知识点
1、FORM标签enctype属性
2、$_FILES 系统函数
3、move_uploaded_file函数
4、is_uploaded_file 函数
1、FORM标签enctype属性
表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,
这个编码格式是application/x-www-form-urlencoded才能完整的传递文件数据
,不能用于文件上传;
只有使用了multipart/form-data,因为浏览器不能传递二进制代码
<formenctype="multipart/form-data" method="post"name="upform">
2、$_FILES系统函数
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,例如"image/gif"。
image/jpg
image/jpeg
image/png
image/pjpeg
image/gif
image/bmp
image/x-png
application/x-zip-compressed
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 储存的临时文件名,一般是系统默认。
$_FILES['myFile']['error'] 该文件上传相关的错误代码。
0;文件上传成功。
1;超过了文件大小php.ini中。
2;超过了文件大小
MAX_FILE_SIZE 选项指定的值。
3; 文件只有部分被上传。
4; 没有文件被上传。
5; 上传文件大小为0。
3、move_uploaded_file函数(上传后移动文件到目标位置的函数)
格式:move_uploaded_file(临时文件,目标位置和文件名);
4、is_uploaded_file函数(判断上传MIME类型的文件函数)
格式:move_uploaded_file(MIME);
判断是否为post传值
实例演示:
<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){//判断是否有文件上传
$upfile=$_FILES["upfile"];//将系统变量重新赋值,使用方便。注意upfile为控件的name值
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
if (move_uploaded_file($tmp_name,'up/'.$name)) {//移动文件函数 $tmp_name为临时文件名称 'up/'.$name为目标位置 up文件夹为此php代码页统计目录
echo"上传成功";
}
}
?>
<form action="" enctype="multipart/form-data"method="post" name="up">
上传文件:
<input type="file"name="upfile" />
<input type="submit" value="上传"/>
</form>
代码详细位置:D:/website/training/shangchuan
老师的php代码解析:
<?php
require('config.php');//连接数据库、打开数据库
if($_POST['submit']){//判断是否点击了submit按钮,若点击则执行括号内的代码
$oldName = $_FILES['fileDoc']['name']; //获取上传文件的原始名字
//echo $oldName;
$tmp = explode('.',$oldName); //explode函数
$docName = time().".".$tmp[1]; //设置新的文件名为当前时间与1970年的秒差.格式$tmp[1]在这里的作用是取得文件的格式
$filepath = "upload/".$docName;//设置上传的路径(目的地)
if(is_uploaded_file($_FILES['fileDoc']['tmp_name'])){//判断是否有文件上传
if(move_uploaded_file($_FILES['fileDoc']['tmp_name'], $filepath)) //判断是文件是否移动成功
echo"suc";
else
echo "failure";
}
$sql = "insert into `up`values('','".$oldName."','".$docName."')";//向数据库中插入文件的原始名及新名字
$query = mysql_query($sql); //执行sql语句
if($query>0) //判断是否执行成功
echo "Suc";
else
echo "Failure";
echo "<scriptlanguage='javascript'>setTimeout(/"window.location='dis.php'/",1000)</script>";//javascript跳转
}
?>
<formaction="<?echo $PHP_SELF?>" method="post"enctype="multipart/form-data">
<inputtype="file" name="fileDoc">
<br>
<inputtype="submit" name="submit" value="上传">
</form>
显示图片页面
<?php
require('config.php');
$sql = "select *from `up` order by `id` DESC";
$rs =mysql_fetch_array(mysql_query($sql));//查询最新插入的图片
?>
<imgsrc="upload/<?echo $rs['docName']?>" />
<?echo $rs['oldName']?>
概括理解上传:file在form中,点击submit时将数据放进缓存中,然后判断是否post传值,将上传的文件移至定义的文件夹中,同时将文件新的名字和旧的名字插入数据库中
- 文件上传原理及应用
- PHP上传原理及应用
- PHP上传原理及应用
- PHP上传原理及应用
- PHP上传原理及应用
- PHP 上传原理及应用
- PHP上传原理及应用
- 文件上传原理及流程
- 文件上传原理:Web上传文件的原理及实现
- 文件上传原理及Strut文件上传下载
- PHP文件上传的原理及实现
- PHP文件上传的原理及实现
- Web上传文件的原理及实现
- php文件上传的原理及实现
- PHP文件上传的原理及实现
- PHP文件上传的原理及实现
- PHP文件上传的原理及实现
- php文件上传的原理及实现
- 登录时跳转再跳转的道理
- 彼得德鲁克管理理念摘写
- 引用JS文件
- 下拉菜单的两种默认用法
- JQuery解决乱码问题
- 文件上传原理及应用
- ddd
- php页面常用的js
- js网站头部
- js日期
- 有用的JS
- 网站首页常用的JS
- 牛人给一岁女儿的十八条爆笑家规
- 挑战之路