php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > PHP案例 >

php文件上传实例

时间:2019-05-31 17:38来源:未知 作者:admin 点击:
一、上传文件表单 html head meta http-equiv=Content-Type content=text/html;charset=UTF-8 title File Uploads /title /head body form action=upload.php method=post enctype=multipart/form-data shopname: input type=text name=shopname br s
一、上传文件表单
<html>
 
<head>
 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 
<title> File Uploads </title>
 
</head>
 
<body>
 
<form action="upload.php" method="post" enctype="multipart/form-data">
 
shopname: <input type="text" name="shopname" > <br>
 
shopprice: <input type="text" name="price"> <br>
 
shopnum : <input type="text" name="num"> <br>
 
<input type="hidden" name="MAX_FILE_SIZE" value="100000000">
 
shoppic1: <input type="file" name="pic"> <br>
 
<input type="submit" name="sub" value="上传">
 
</form>
 
</body>
 
</html>
 
二、上传后的处理
<?php
 
header('Content-Type:text/html;charset=utf8');
 
$fieldname='pic';
 
$filename=date('Y').date('m').date('d').date('H').date('i').date('s');
 
$filepath='./uploads/';
 
$maxSize=500000;//设置上传文件的大小:单位是B
 
$allowtype=array('jpg','jpeg','gif','png');
 
uploadFile($_FILES, $fieldname,$filename, $filepath, $maxSize, $allowtype);
 
/*
 
* $files:上传文件资源句柄
 
* $fieldname:上传文件的表单名,本例中是'pic'
 
* $filename:新文件名(不需要指定拓展名)
 
* $filepaht:文件存放路径
 
* $allowtype:设定循序上传文件的类型
 
*
 
*/
 
function uploadFile($files,$fieldname,$filename,$filepath,$maxSize,$allowtype){
 
//step 1:检查错误
 
if($files[$fieldname]['error']>0){
 
switch ($files[$fieldname]['error']){
 
case 1:
 
echo "上传的文件超过了upload_max_filesize 选项限制的值<br>";
 
break;
 
case 2:
 
echo "上传文件超过了表单中 MAX_FILE_SIZE 选项指定的值";
 
break;
 
case 3:
 
echo "文件只有部分被上传";
 
break;
 
case 4:
 
echo "没有文件被上传";
 
break;
 
case 6:
 
echo '找不到临时文件夹';
 
break;
 
case 7:
 
echo '文件写入失败';
 
break;
 
default:
 
echo "未知的错误";
 
}
 
exit();
 
}
 
//step 2:检查大小
 
if($files[$fieldname]['size']>$maxSize){
 
echo '上传的文件太大,不要超过'.$maxSize.'';
 
exit();
 
}
 
//step 3:检查类型
 
$arr=explode('.', $files[$fieldname]['name']);
 
$filetype=$arr[count($arr)-1];
 
if(!in_array($filetype, $allowtype)){
 
echo '文件类型不支持!';
 
exit();
 
}
 
//step 4:改名、指定新路径
 
$filename=$filename.'.'.$filetype;
 
//step 5:移动
 
//特别注意:这里必须指明新文件名,否则将无法移动,暂不知什么原因
 
if(is_uploaded_file($files[$fieldname]['tmp_name'])){
 
if(move_uploaded_file($files[$fieldname]['tmp_name'], $filepath.$filename)){
 
echo '<script>alert("上传成功!")</script>';
 
}else{
 
echo '<script>alert("上传失败,路径错误或者没有权限!")</script>';
 
}
 
}else{
 
echo '这不是一个上传文件!';
 
}
 
}
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
猜你喜欢