亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php上傳文件分類實(shí)例代碼

 更新時(shí)間:2017年02月17日 11:17:41   作者:李佳敏  
這篇文章主要介紹了php上傳文件分類實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

廢話不多說(shuō)了,直接給大家貼代碼了,具體代碼如下所示:

<?php
/**
* 文件上傳類
* @author lijiamin
* @time 2017-02-17
* @email 1195989301@qq.com
*/
class Upload{
private $allowExt = array('gif','jpg','jpeg','bmp','png','swf');//限制文件上傳的后綴名
private $maxSize = 1;//限制最大文件上傳1M
/**
* 獲取文件的信息
* @param str $flag 上傳文件的標(biāo)識(shí)
* @return arr 上傳文件的信息數(shù)組
*/
public function getInfo($flag){
return $_FILES[$flag];
}
/**
* 獲取文件的后綴
* @param str $filename 文件名
* @return str 文件擴(kuò)展名
*/
public function getExt($filename){
return pathinfo($filename,PATHINFO_EXTENSION);
}
/**
* 檢測(cè)上傳文件是否合法
* @param str $filename 文件名
* @return bool 文件擴(kuò)展名是否合法
*/
private function checkExt($filename){
$ext = $this->getExt($filename);
return in_array($ext,$this->allowExt);
}
/**
* 檢測(cè)文件大小是否超過(guò)限制
* @param int size 文件大小
* @return bool 文件大小是否超過(guò)限制
*/
public function checkSize($size){
return $size < $this->maxSize * 1024 * 1024;
}
/**
* 隨機(jī)的文件名
* @param int $len 隨機(jī)文件名的長(zhǎng)度
* @return str 隨機(jī)字符串
*/
public function randName($len=6){
return substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,$len);
}
/**
* 創(chuàng)建文件上傳到的路徑
* @return str 文件上傳的路徑
*/ 
public function createDir(){
//上傳文件路徑
$dir = './upload/'.date('Y/m/d',time());
//判斷文件夾是否存在,不存在則新建
if(is_dir($dir) || mkdir($dir,0777,true)){
return $dir;
}
}
/**
* 文件上傳
* @param str $flag 文件上傳標(biāo)識(shí)
* @return array 返回上傳文件名、保存路徑
*/
public function uploadFile($flag){
if($_FILES[$flag]['name'] === '' || $_FILES[$flag]['error'] !== 0){
echo "沒(méi)有上傳文件";
return;
}
$info = $this->getInfo($flag);
if(!$this->checkExt($info['name'])){
echo "不支持的文件類型";
return;
}
if(!$this->checkSize($info['size'])){
echo "文件大小超過(guò)限制";
return;
}
$filename = $this->randName().'.'.$this->getExt($info['name']);
$dir = $this->createDir();
if(!move_uploaded_file($info['tmp_name'], $dir.'/'.$filename)){
echo "文件上傳失敗";
}else{
return array('filename'=>$filename,'dir'=>$dir);
}
}
}
?>

相關(guān)文章

  • IDEA報(bào)錯(cuò):java:無(wú)效的源發(fā)行版21解決方式

    IDEA報(bào)錯(cuò):java:無(wú)效的源發(fā)行版21解決方式

    這篇文章主要給大家介紹了關(guān)于IDEA報(bào)錯(cuò):java:無(wú)效的源發(fā)行版21的解決方式,這個(gè)錯(cuò)誤是因?yàn)槟愕捻?xiàng)目使用的Java版本與你的IDEA使用的Java版本不一致導(dǎo)致的,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Java中實(shí)現(xiàn)簡(jiǎn)單的Excel導(dǎo)出

    Java中實(shí)現(xiàn)簡(jiǎn)單的Excel導(dǎo)出

    今天小編就為大家分享一篇關(guān)于Java中實(shí)現(xiàn)簡(jiǎn)單的Excel導(dǎo)出,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • java基礎(chǔ)之Integer與int類型輸出示例解析

    java基礎(chǔ)之Integer與int類型輸出示例解析

    這篇文章主要為大家介紹了java基礎(chǔ)之Integer與int類型輸出示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 如何解決@NotBlank不生效的問(wèn)題

    如何解決@NotBlank不生效的問(wèn)題

    這篇文章主要介紹了如何解決@NotBlank不生效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java圖文分析之繼承內(nèi)存布局

    Java圖文分析之繼承內(nèi)存布局

    這篇文章主要介紹了Java圖文分析之繼承內(nèi)存布局,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2022-09-09
  • Java 17 更新后的 strictfp 關(guān)鍵字

    Java 17 更新后的 strictfp 關(guān)鍵字

    strictfp 可能是最沒(méi)有存在感的關(guān)鍵字了,很多人寫(xiě)了多年 Java 甚至都不知道它的存在,strictfp,字面意思就是嚴(yán)格的浮點(diǎn)型。這玩意兒居然還有個(gè)關(guān)鍵字,可見(jiàn)其地位還是很高的。下面文章小編就帶大家詳細(xì)介紹其關(guān)鍵字,需要的朋友可以參考一下
    2021-09-09
  • Java中的Map允許有重復(fù)元素嗎?

    Java中的Map允許有重復(fù)元素嗎?

    今天小編就為大家分享一篇關(guān)于Java中的Map允許有重復(fù)元素嗎?,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Java子類對(duì)象的實(shí)例化過(guò)程分析

    Java子類對(duì)象的實(shí)例化過(guò)程分析

    這篇文章主要介紹了Java子類對(duì)象的實(shí)例化過(guò)程,結(jié)合具體實(shí)例形式分析了java子類對(duì)象的實(shí)例化的步驟、原理、實(shí)現(xiàn)方法,需要的朋友可以參考下
    2019-09-09
  • MyBatis一級(jí)緩存與二級(jí)緩存原理與作用分析

    MyBatis一級(jí)緩存與二級(jí)緩存原理與作用分析

    mybatis-plus是一個(gè)Mybatis的增強(qiáng)工具,在Mybatis的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生,這篇文章帶你了解Mybatis的一級(jí)和二級(jí)緩存
    2022-12-12
  • 使用Logback設(shè)置日志級(jí)別

    使用Logback設(shè)置日志級(jí)別

    這篇文章主要介紹了使用Logback設(shè)置日志級(jí)別的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論