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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 scandir 獲取按時間排序的文件名

使用 scandir 獲取按時間排序的文件名

PHP
婷婷同學(xué)_ 2023-04-28 15:07:28
我正在創(chuà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ù)來獲取這些文件:foreach(array_diff(scandir($path, 1), ['.', '..']) as $file_name) {    $files[] = base_path('../some_folder/').$file_name;}數(shù)組真的會$files按用作文件名的日期和時間排序嗎?
查看完整描述

1 回答

?
繁花如伊

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

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

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

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

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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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