PHP file upload (powerful file and picture upload class) This file upload utility code can easily upload files or pictures you specify, and can also quickly limit the file type or size of uploaded pictures.
php tutorial file upload (powerful file and image upload class)
This file upload utility code can easily upload files or images you specify, and can also quickly limit the file type or size of uploaded images.
/*
* created on 2010-6-21
*
* the class for image to upload
*
* made by s71ence
*
* @$user_id
* @$max_file_size
* @$max_image_side
* @$destination_folder
*
* return:
* @$_cookie['img_path']
* @$img_unfind
* @$img_type
* @$mkdir_warry
* @$img_side_too_big
* @$img_exist
* @$img_move
* @$img_upload_sucess
*/
header('content-type:text/html;charset=utf-8');
class image_upload extends fn_function
{
private $user_id;
private $max_file_size; //allow the image's size
private $max_image_side; //allow the image's side
private $destination_folder; //image's storage path
private $img_preview;
private $img_preview_size;
private $cookie_set; //the cookie's namefunction __construct($user_id,$max_file_size,$max_image_side,$destination_folder,$img_preview,$img_preview_size,$cookie_set)
{
$this->user_id=$user_id;
$this->max_file_size=$max_file_size;
$this->max_image_side=$max_image_side;
$this->destination_folder =$destination_folder;
$this->img_preview=$img_preview;
$this->img_preview_size=$img_preview_size;
$this->cookie_set=$cookie_set;
$this-> ;get_date();
$this->get_image_type();
}private function get_date()
{
$this->date=fn_function::get_server_date ();
return $this->date;
}function get_image_type()
{
$this->up_img_types=array(
'image/ jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);return $this->up_img_types;
}function upload_image()
{
if ( $_server['request_method'] == 'post')
{
//check the iamge is exist
if (!is_uploaded_file($_files["upfile"]["tmp_name"]))
{
return $img_unfind=fn_function::alert_msg('Picture does not exist!');
exit;
}$file = $_files["upfile"];
//check the iamge's size
if($this->max_file_size < $file["size"])
{
return $img_side_too_big=fn_function::alert_msg('Picture The size exceeds the maximum allowed by the system!');
exit;
}//check the iamge's type
if(!in_array($file["type"], $this- >up_img_types))
{
return $img_type=fn_function::alert_msg('Image type does not match!');
exit;
}if(!file_exists($this->destination_folder))
{
if(!fn_function::mkdirs($this->destination_folder))
{
return $mkdir_warry=fn_function::alert_msg('目录创建失败!');
exit;
}
}$file_name=$file["tmp_name"];
$image_size = getimagesize($file_name);
$pinfo=pathinfo($file["name"]);
$file_type=$pinfo['extension'];
$destination = $this->destination_folder.time().".".$file_type;
setcookie($this->cookie_set, $destination);if($image_size[0]>$this->max_image_side || $image_size[1]>$this->max_image_side)
{
return $img_side_too_big=fn_function::alert_msg('图片分辨率超过系统允许最大值!');
exit;
}$overwrite="";
if (file_exists($destination) && $overwrite != true)
{
return $img_exist=fn_function::alert_msg('同名文件已经存在了!');
exit;
}if(!move_uploaded_file ($file_name, $destination))
{
return $img_move=fn_function::alert_msg('移动文件出错!');
exit;
}$img_upload_sucess="上传成功
";
if($this->img_preview==1)
{
$img_src="