91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php怎么實現文件上傳類

發布時間:2021-08-27 11:32:41 來源:億速云 閱讀:126 作者:小新 欄目:開發技術

這篇文章主要介紹了php怎么實現文件上傳類,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體內容如下

<?PHP
/*
*文件上傳類
**/
class upfile{
private $file_size;//上傳源文件大小
private $file_tem;//上傳文件臨時儲存名
private $file_name;//上傳文件名
private $file_type;//上傳文件類型
private $file_max_size=2000000;//允許文件上傳最大
private $file_folder="uploadFiles";//文件上傳路徑
private $over_write=false;//是否覆蓋同名文件
//允許上傳圖片的類型
private $allow_type=array('image/jpg','image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','image/x-png');


//構造類,file:上傳文件域
function __construct($file){
$this->file_name=$_FILES[$file]['name'];//客戶端原文件名
$this->file_type=$_FILES[$file]['type'];//文件類型
$this->file_tem=$_FILES[$file]['tmp_name'];//儲存的臨時文件名,一般是系統默認
$this->file_size=$_FILES[$file]['size'];//文件大小
}

//如果文件夾不存在則創建文件夾 
function creatFolder($f_path){
if(!file_exists($f_path)){
mkdir($f_path,0777);
}
}

//判斷文件是不是超過上傳限制
function is_big(){
if($this->file_size>$this->file_max_size){
echo "文件太大,超過限制!";
exit;
}
}

//檢查文件類型
function check_type(){
if(!in_array($this->file_type,$this->allow_type)){
echo "上傳文件類型不正確";
exit;
}
}

//檢查文件是否存在
function check_file_name(){
if(!file_exists($this->file_tem)){
echo "上傳文件不存在";
exit;
}          
}

//檢查是否有同名文件,是否覆蓋
function check_same_file($filename){
if(file_exists($filename)&&$this->over_write!=true){
echo "同名文件已存在!";
exit;
}    
}

//移動文件
function move_file($filename,$destination){
if(!move_uploaded_file($filename,$destination)){
echo "移動文件出錯";
exit;
}
}

//檢查文件是否是通過 HTTP POST 上傳的
function is_upload_file(){
if(!is_uploaded_file($this->file_tem)){
echo "文件不存在";
exit;
}
}

//獲得文件后綴名
function getext(){
$ext=$this->file_name;
$extstr=explode('.',$ext);
$count=count($extstr)-1;
return $extstr[$count];
}

//新建文件名
function set_name(){      
return time().".".$this->getext();
}

//建立以年月日為文件夾名
function creat_mulu(){
$this->creatFolder("../../upload/".date(Ymd));  
return "upload/".date(Ymd);
}

//生成的文件名
function files_name(){
$name=$this->set_name();
$folder=$this->creat_mulu();
return "../../".$folder."/".$name;
}

//上傳文件
function upload_file(){
$f_name=$this->files_name();
move_uploaded_file($this->file_tem,$f_name);
return $f_name;
}  

//生成縮略圖
//最大寬:120,高:120
function create_simg($img_w,$img_h){
$name=$this->set_name();
$folder=$this->creat_mulu();
$new_name="../../".$folder."/s_".$name;      
$imgsize=getimagesize($this->files_name());

switch ($imgsize[2]){
case 1:
if(!function_exists("imagecreatefromgif")){
echo "你的GD庫不能使用GIF格式的圖片,請使用Jpeg或PNG格式!返回";
exit();
}
$im = imagecreatefromgif($this->files_name());
break;
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo "你的GD庫不能使用jpeg格式的圖片,請使用其它格式的圖片!返回";
exit();
}
$im = imagecreatefromjpeg($this->files_name());
break;
case 3:
$im = imagecreatefrompng($this->files_name());
break;
case 4:
$im = imagecreatefromwbmp($this->files_name());
break;
default:
die("is not filetype right");
exit;
}

$src_w=imagesx($im);//獲得圖像寬度
$src_h=imagesy($im);//獲得圖像高度
$new_wh=($img_w/$img_h);//新圖像寬與高的比值
$src_wh=($src_w/$src_h);//原圖像寬與高的比值
if($new_wh<=$src_wh){
$f_w=$img_w;
$f_h=$f_w*($src_h/$src_w);
}else{
$f_h=$img_h;
$f_w=$f_h*($src_w/$src_h);
}
if($src_w>$img_w||$src_h>$img_h){      
if(function_exists("imagecreatetruecolor")){//檢查函數是否已定義
$new_img=imagecreatetruecolor($f_w,$f_h);
if($new_img){
imagecopyresampled($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);//重采樣拷貝部分圖像并調整大小
}else{
$new_img=imagecreate($f_w,$f_h);
imagecopyresized($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);
}
}else{
$$new_img=imagecreate($f_w,$f_h);
imagecopyresized($new_img,$im,0,0,0,0,$f_w,$f_h,$src_w,$src_h);
}
if(function_exists('imagejpeg')){
imagejpeg($new_img,$new_name);
}else{
imagepng($new_img,$new_name);
}
imagedestroy($new_img);
}
//imagedestroy($new_img);
return $new_name;
}    

}
?>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php怎么實現文件上傳類”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

高雄市| 都江堰市| 枣强县| 陇南市| 朝阳市| 南城县| 金阳县| 玉山县| 通榆县| 嵊州市| 阿坝| 历史| 邹城市| 景宁| 全椒县| 北碚区| 沧州市| 汶上县| 梧州市| 区。| 曲麻莱县| 天长市| 商丘市| 盐亭县| 田林县| 桑植县| 芦山县| 阿拉尔市| 法库县| 金山区| 兰考县| 诏安县| 正阳县| 游戏| 常德市| 绍兴县| 西吉县| 商水县| 莎车县| 莱芜市| 延安市|