PHP上传文件代码,仅适合初学者,代码简洁易懂
php的上传文件功能在php里举足轻重,是常用的功能之一,比如我们要上传下载文件,或者是要处理上传的图片等,都需要利用到php的上传技术,对于简单的没有什么要求的站点,利用一个简单的上传文件代码即可以搞定,下面是一个简单的php新手上传文件的代码,仅适合初学者研究,代码简洁易懂,当然,php的上传技术远不至此,我们可以在网上找到非常多的免费php上传文件类,功能相当完善,而这些只需要一个类文件即可以实现,如果你还是一个新手,就可以研究一下这款上传文件的代码:
PHP代码
[code] <?php
/****************************************************
参数说明:
$max_file_size :设置上传文件大小
$destination_folder :上传文件保存的路径
$imageview :是否生成缩略图(1为生成,其他为不生成)
$imageviewsize :缩略图比例(默认为1/2,也就是50%的大小)
*****************************************************/
//上传文件类型
$FileTypes=array(
'image/jpg',
'image/jpeg',
'image/pjpeg',
'image/png',
'image/gif'
);
$max_file_size=100000; //限制上传文件大小
$destination_folder='upfile/'; //上传文件保存路径
$imageview=1; //是否生成缩略图(1为生成,其他未不生成);
$imageviewsize=1/2; //缩略图比例;
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>图片上传 Powered By Longxi</title>
<style type="text/css">
body{font-size:14px;}
input{border:1px #d8d8d8 solid;}
</style>
</head>
<body>
<form enctype="multipart/form-data" method="POST" action="" name="upform">
<input type="file" name="file" /><br /><br />
<input type="submit" name="submit" value="开始上传" />
</form>
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
if(!is_uploaded_file($_FILES['file'][tmp_name])){
echo '文件不存在';
exit;
}
$upfile=$_FILES['file'];
if($max_file_size < $upfile['size']){
echo '文件过大';
exit;
}
if(!in_array($upfile[type],$FileTypes)){
echo '文件类型不符合';
exit;
}
if(!file_exists($destination_folder)){
mkdir($destination_folder);
}
//定义上传文件变量
$filename=$upfile['tmp_name'];
$file_size=getimagesize($filename);
$pinfo=pathinfo($upfile['name']);
// print_r($pinfo);
$file_type=$pinfo['extension'];
$destination=$destination_folder.time().".".$file_type;
// echo $destination;
if(file_exists($destination)){
echo "<br />文件已经存在,没有上传成功!";
exit;
}
if(!move_uploaded_file($filename,$destination)){
echo '文件上传出错';
exit;
}
$pinof=pathinfo($destination);
//判断是否是效的图片
if(!(@getimagesize($destination))){
echo '禁止非法操作';
//删除图片
unlink($destination);
exit;
}
$image_size=getimagesize($destination);
// print_r($image_size);
// print_r($pinfo);
echo '文件已经上传成功,文件名为'.$pinof[basename]."<br /><a href='".$destination_folder.$pinof[basename]."' target='_blank'>打开大图片</a>";
echo '<br />文件大小'.filesize($destination).'bytes';
echo '<br />原图宽度'.$image_size[0];
echo '<br />原图高度'.$image_size[1].'<br />';
//生成缩略图
if($imageview==1){
echo '图片缩略图<br />';
echo "<img src='".$destination."' width=".(floor($image_size[0]*$imageviewsize))." height=".(floor($image_size[1]*$imageviewsize))." border=1 />";
}
}
?>
</body>
</html> [/code]