第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 scandir 獲取按時(shí)間排序的文件名

使用 scandir 獲取按時(shí)間排序的文件名

PHP
婷婷同學(xué)_ 2023-04-28 15:07:28
我正在創(chuàng)建文件并將其名稱(chēng)設(shè)置為time()使用md5函數(shù)的哈希表示:$encoded_data = ['some_data'];$file_name = md5(time()).'.json';$path = base_path("../some_folder/");file_put_contents($path.$file_name, $encoded_data); 我不明白的是,如果我使用scandir排序順序參數(shù)來(lái)獲取這些文件:foreach(array_diff(scandir($path, 1), ['.', '..']) as $file_name) {    $files[] = base_path('../some_folder/').$file_name;}數(shù)組真的會(huì)$files按用作文件名的日期和時(shí)間排序嗎?
查看完整描述

1 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

由于像 md5 這樣的哈希函數(shù)只是單向的,文件名作為排序標(biāo)準(zhǔn)是無(wú)用的。如果您想跟蹤用于生成 md5 值的同一時(shí)間戳,則必須保留一個(gè) hash:timestamp 表記錄在案。如果你這樣做了,你就不需要開(kāi)始運(yùn)行scandir——你可以簡(jiǎn)單地從你保存的引用表中讀取文件列表。(假設(shè)你用刪除的文件保持最新。否則,它會(huì)顯示過(guò)時(shí)的文件。)

您是否有特殊原因需要使用時(shí)間戳的 md5 哈希?為什么不簡(jiǎn)單地使用時(shí)間戳(帶有前綴或其他方式)作為文件名?然后您可以簡(jiǎn)單地按字母順序、升序或降序排序,并自動(dòng)按時(shí)間順序排列文件。這將是迄今為止最簡(jiǎn)單和最輕量級(jí)的選擇。

如果 md5-hashes 作為文件名是必須的,而編寫(xiě)參考表不是你喜歡的,那么你將不得不循環(huán)遍歷文件,或者使用 ,usort并檢查文件的創(chuàng)建/修改日期 (?filemtime)。

查看完整回答
反對(duì) 回復(fù) 2023-04-28
  • 1 回答
  • 0 關(guān)注
  • 265 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)