上傳文件的命名規(guī)范

上傳文件的命名規(guī)范用于確保文件不會(huì)產(chǎn)生沖突或者覆蓋的情況渐白。而命名規(guī)范的定義又需要根據(jù)你的業(yè)務(wù)邏輯來(lái)調(diào)整尊浓,不是固定的。例如纯衍,如果你采用時(shí)間戳的方式來(lái)定義命名規(guī)范栋齿,那么在同時(shí)上傳多個(gè)文件的時(shí)候可能產(chǎn)生沖突(因?yàn)橥幻雰?nèi)可以上傳多個(gè)文件),因此你需要根據(jù)你的業(yè)務(wù)需求來(lái)設(shè)置合適的上傳命名規(guī)則托酸。這里順便來(lái)說(shuō)下saveRule參數(shù)的具體用法
一褒颈、采用函數(shù)方式如果傳入的字符串是一個(gè)函數(shù)名,那么表示采用函數(shù)動(dòng)態(tài)生成上傳文件名(不包括文件后綴)励堡,例如:

$upload->saveRule = 'time'; // 采用時(shí)間戳命名$upload->saveRule = 'com_create_guid'; // 采用GUID序列命名也可以采用用戶自定義函數(shù):$upload->saveRule = 'myfun'; // 采用自定義函數(shù)命名

二、直接設(shè)置上傳文件名
如果傳入的參數(shù)不是一個(gè)函數(shù)名堡掏,那么就會(huì)直接當(dāng)做是上傳文件名应结,例如:

$upload->saveRule = time().'_'.mt_rand();

復(fù)制代碼三、保持上傳文件名不變
如果你想保持上傳的文件名不變泉唁,那么只需要設(shè)置命名規(guī)范為空即可鹅龄,例如:
$upload->saveRule = '';
復(fù)制代碼一般來(lái)說(shuō)不建議保持不變,因?yàn)闀?huì)導(dǎo)致相同的文件名上傳后被覆蓋的情況绞佩。子目錄保存saveRule只是用于設(shè)置文件的保存規(guī)則揉燃,不涉及到目錄唇撬,如果希望采用子目錄保存上傳文件,可以使用下面的三種方式設(shè)置子目錄:
一玷坠、哈希子目錄$upload->subType = 'hash';$upload->hashLevel = 2;復(fù)制代碼設(shè)置后蜗搔,會(huì)自動(dòng)對(duì)上傳文件進(jìn)行哈希編碼后的第一個(gè)和第二個(gè)字母分別作為一級(jí)和二級(jí)子目錄名稱保存。如果hashLevel不設(shè)置八堡,則默認(rèn)為一級(jí)子目錄樟凄。
二、日期子目錄這種方式也比較常用兄渺,用日期作為子目錄名稱缝龄,$upload->subType = 'date';$upload->dateFormat = 'Y-m-d';復(fù)制代碼dateFormat參數(shù)則用于配合設(shè)置日期的格式,如果不設(shè)置挂谍,則默認(rèn)為Ymd叔壤。
三、自定義子目錄這種方式作為一種更靈活的子目錄保存方式口叙,是最新添加的功能支持炼绘。$upload->subType = 'custom';$upload->subDir = get_user_id();復(fù)制代碼自定義子目錄方式的優(yōu)勢(shì)在于,可以動(dòng)態(tài)設(shè)置子目錄名稱庐扫,上面的定義就采用了當(dāng)前用戶ID作為子目錄名稱饭望。生成縮略圖縮略圖功能需要Image擴(kuò)展類的支持,所以確保你已經(jīng)有了這個(gè)擴(kuò)展類形庭。然后設(shè)置如下參數(shù)://設(shè)置需要生成縮略圖铅辞,僅對(duì)圖像文件有效$upload->thumb = true;//設(shè)置需要生成縮略圖的文件前綴$upload->thumbPrefix = 'm_,s_'; //生產(chǎn)2張縮略圖//設(shè)置縮略圖最大寬度$upload->thumbMaxWidth = '200,50';//設(shè)置縮略圖最大高度$upload->thumbMaxHeight = '200,50';//設(shè)置生成縮略圖后移除原圖$upload->thumbRemoveOrigin = true;縮略圖的前(后)綴數(shù)量必須和寬度數(shù)量對(duì)應(yīng),表示生成多個(gè)縮略圖萨醒。生成的縮略圖默認(rèn)位于保存文件的實(shí)際所在目錄(包括子目錄的情況)斟珊,當(dāng)然你也可以指定統(tǒng)一的縮略圖保存路徑,例如:$upload->thumbPath = './Uploads/thumb/';復(fù)制代碼這里的thumbPath參數(shù)必須用“/”結(jié)尾富纸。我們可以設(shè)置縮略圖采用統(tǒng)一的文件后綴囤踩,例如:
// 設(shè)置縮略圖的固定后綴$upload->thumbExt = 'jpg';
復(fù)制代碼更多的上傳類用法可以通過(guò)上傳參數(shù)的設(shè)置來(lái)完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晓褪,一起剝皮案震驚了整個(gè)濱河市堵漱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涣仿,老刑警劉巖勤庐,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異好港,居然都是意外死亡愉镰,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)钧汹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)丈探,“玉大人,你說(shuō)我怎么就攤上這事拔莱⊥虢担” “怎么了隘竭?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)遗锣。 經(jīng)常有香客問(wèn)我货裹,道長(zhǎng),這世上最難降的妖魔是什么精偿? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任弧圆,我火速辦了婚禮,結(jié)果婚禮上笔咽,老公的妹妹穿的比我還像新娘搔预。我一直安慰自己,他們只是感情好叶组,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布拯田。 她就那樣靜靜地躺著,像睡著了一般甩十。 火紅的嫁衣襯著肌膚如雪船庇。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,115評(píng)論 1 296
  • 那天侣监,我揣著相機(jī)與錄音鸭轮,去河邊找鬼。 笑死橄霉,一個(gè)胖子當(dāng)著我的面吹牛窃爷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姓蜂,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼按厘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了钱慢?” 一聲冷哼從身側(cè)響起逮京,我...
    開(kāi)封第一講書(shū)人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎束莫,沒(méi)想到半個(gè)月后造虏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡麦箍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陶珠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挟裂。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖揍诽,靈堂內(nèi)的尸體忽然破棺而出诀蓉,到底是詐尸還是另有隱情栗竖,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布渠啤,位于F島的核電站狐肢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沥曹。R本人自食惡果不足惜份名,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妓美。 院中可真熱鬧僵腺,春花似錦、人聲如沸壶栋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)贵试。三九已至琉兜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間毙玻,已是汗流浹背豌蟋。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留淆珊,地道東北人夺饲。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像施符,于是被迫代替她去往敵國(guó)和親往声。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,070評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理戳吝,服務(wù)發(fā)現(xiàn)浩销,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 本文包括:1听哭、文件上傳概述2慢洋、利用 Commons-fileupload 組件實(shí)現(xiàn)文件上傳3、核心API——Dis...
    廖少少閱讀 12,546評(píng)論 5 91
  • Php:腳本語(yǔ)言陆盘,網(wǎng)站建設(shè)普筹,服務(wù)器端運(yùn)行 PHP定義:一種服務(wù)器端的HTML腳本/編程語(yǔ)言,是一種簡(jiǎn)單的、面向?qū)ο?..
    廖馬兒閱讀 2,137評(píng)論 2 38
  • 終于還是和boss談了辭職。 之前酸员,我一直在想蜒车,讓我作出決定離開(kāi)DT的“最后一根稻草”會(huì)是什么讳嘱。 工資待遇?其實(shí)在...
    櫻桃小圓子閱讀 283評(píng)論 0 0