說明:
每個分類會有對應的圖檔,原本利用id當檔名存
但因介接系統只認檔名,所在在相同檔名下,更換圖檔內容不會觸發介接系統更新圖
因此利用filename加timestamp來觸發(跟css, js加上?v=xxx同義)
做法:
資料夾下會有多個圖檔,而圖檔的filename會夾timestamp,
在不靠其他persistent data的做法下(記在db or file),就直接sort timestamp當最新的圖檔
Reference
Using PHP's glob() function to find files in a directory
每個分類會有對應的圖檔,原本利用id當檔名存
但因介接系統只認檔名,所在在相同檔名下,更換圖檔內容不會觸發介接系統更新圖
因此利用filename加timestamp來觸發(跟css, js加上?v=xxx同義)
做法:
資料夾下會有多個圖檔,而圖檔的filename會夾timestamp,
在不靠其他persistent data的做法下(記在db or file),就直接sort timestamp當最新的圖檔
- 取得所有jpg圖
- 加上其他圖檔格式(靠GLOB_BRACE)
$images = glob("files/*.{jpg,gif,png}", GLOB_BRACE);
- 還有大小寫問題 >_<
$images = glob("files/*.{[jJ][pP][gG],[gG][iI][fF],[pP][nN][gG]}", GLOB_BRACE);
- 排序部份靠php,完整的寫法如下(如果還要其他圖檔格式,就自己加囉)
$images = glob("files/*.{[jJ][pP][gG],[gG][iI][fF],[pP][nN][gG]}", GLOB_BRACE); $sorted = rsort($images); //由大到小
$files = glob("/path/to/directory/*.jpg"); -- Array ( [0] => /path/to/directory/1.jpg [1] => /path/to/directory/2.jpg [2] => /path/to/directory/3.jpg )
Reference
Using PHP's glob() function to find files in a directory
沒有留言:
張貼留言