問題可能說的有點模糊,我再詳細解釋一下。
其實現在我希望無論是上傳或是下載。不管是FTP的方式、POST或是其它任何一個方式。
我都希望能原檔COPY過去。不要去變動其建立或修改時間。
目前試了PHP中的FTP方式跟檔案POST的方式。是一定辦不到這件事的。
FTP上傳下載有在網路上找到說好像可以做宣告讓它可以保留檔案時間。可惜一直沒辦法成功。
後期我又試了ZipArchive壓縮後再上傳的方式。可以確定壓縮檔內的檔案時間是有保留的。
可是一樣利用ZipArchive做解壓。它還是會依解壓的時間點為修改時間。
但可以確定的是,如果是用SSH操作或是用解壓軟體來做解壓的話。是會保留住檔案的時間。
但是,我PHP上我並不太想開放能操作內部命令的函數。
所以,想問看看有無大佬有研究過這一類的設計方式。是否有其它任何可行的方式。
或是在套件操作上有什麼我沒注意到的地方。
麻煩了
後續處理回報:
其實在發問這篇後,我也一直再想方式來解決。後期我終於找到解決的方式了。
方法還是利用了ZipArchive。將要上傳的檔案,先全部打包起來後。再用ftp上傳壓縮檔。
最後再利用curl遠端運行解壓。
解壓完成後,取得得該壓縮檔內記錄的檔案修改時間。
幸好ZipArchive有提供提取的方法。雖然一開始我眼殘沒注意到其實可預取壓縮檔內的資訊
再用touch的方式修正。
這是目前能找到的最好的方式了。
ftp我記得aws上面的不會去動到原檔的時間
是跟其他服務商租借的?
如果願意考慮「取得檔案修改時間當參數另外傳」的話
這裡有一篇 2019 年的用 javascript 取得檔案修改時間
用 JSFiddle /FireFox 測過可以