PHP上传 实例 讲解
来源:互联网 发布:袋鼠妈妈淘宝网正品吗 编辑:程序博客网 时间:2024/05/06 07:20
首先是HTML部分,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><!--* File: upload.php* Powered By Happig* Date:2012-8-30*--><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>文件的上传</title></head><body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" /> <!-- 这个是在上传前确认大小,只是不想客户上传半天被告知,文件太大, --> 选择文件:<input type="file" name="myfile" /> <input type="submit" value="上传文件" /> </form></body></html>
下边是php部分
<?php/** File: upload.php* Powered By Happig* Date:2012-8-30*/ header("Content-Type:text/html;charset=UTF-8 "); error_reporting(); if($_FILES['myfile']['error'] > 0) { //判断文件是否可以成功上传到服务器,0表示上传成功 echo '上传错误: '; switch ($_FILES['myfile']['error']) { case 1: echo '您这个文件太大,我传不上去'; //上传文件大小超出了PHP配置文件中的约定值:upload_max_filesize break; case 2: echo '您这个文件太大,我传不上去'; //上传文件大小超出了表单中的约定值:MAX_FILE_SIZE break; case 3: echo '文件上传不完整,请重新上传'; //文件只有部分被上传了 break; case 4: echo '没有上传任何文件'; break; } exit; //如果$_FILES['myfile']['error']大于0都是有错误,输出错误信息并退出程序 } //获取上传文件的MIME类型中的主类型和子类型 list($maintype,$subtype)=explode("/",$_FILES['myfile']['type']); if ($maintype=="text") { //通过主类型限制不能上传文本文件,例如.txt .html .php等文件文件 echo '问题: 不能上传文本文件。'; exit; //如果用户上传文本文件则退出程序 } $upfile = './uploads/'.time().$_FILES['myfile']['name']; //定义上传后的位置和新文件名 if (function_exists("iconv")){ $upfile = iconv("UTF-8","GB2312",$upfile); } if (is_uploaded_file($_FILES['myfile']['tmp_name'])) { //判断是否为上传文件 if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile)) { //从移动文件 echo '问题: 不能将文件移动到指定目录。'; exit; } }else{ echo '客户您好,上传文件出问题了,请联系网站程序员;<br/>程序员须知:一般情况下报这个错,说明想要从临时文件转为服务器存储的这个文件不是正当途径上传的<br/>'; echo $_FILES['myfile']['name']; exit; } $size=$_FILES['myfile']['size']; //下边这几行是文件大小又 字节 换算为 kb M G 等单位 用一个嵌套循环可能更好些 if ($size>1024*1024*1024) {$size=round($size/(1024*1024*1024),2) ."G";} elseif ($size>1024*1024) {$size=round($size/(1024*1024),2) ."M";} elseif ($size>1024) {$size=round($size/1024,2) ."kb";} else {$size=$size;} echo '文件<b>'.$_FILES['myfile']['name'].'</b>上传成功,大小为<b>'.$size.'</b>!<br>'; //如果文件上传成功则输出 文件名&文件大小(保留两位小数点)?>
0 0
- PHP上传 实例 讲解
- php文件上传实例讲解
- php soap实例讲解
- php soap实例讲解
- php soap实例讲解
- PHP文件上传实例
- PHP文件上传实例
- PHP开发文件系统实例讲解
- PHP开发文件系统实例讲解
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- php socket讲解与实例
- PHP mysqli_fetch_object() 函数实例讲解
- LeetCode——Triangle
- 8个开发技巧助你薪水更上一层楼
- 1006. Sign In and Sign Out (25)
- Spring+Redis实现高速缓存
- 6-06. 任务调度的合理性(25)(拓扑排序啊 ZJU_PAT)
- PHP上传 实例 讲解
- 解决IDM“警告:您在以管理员身份运行IDM,在该模式下,IDM无法接管浏览器的下载事件”的问题。
- 批处理bat命令 获取当前盘符和当前目录和上级目录的代码
- 带参数的宏定义
- PROJECT 04-01
- 带参数的宏与函数的区别
- PROJECT 04-02
- 架构师
- PROJECT 04-03