我要創建文件共享平臺,但PHP有一些bug有關它。我只是用FREAD得到任何文件(exe,pdf,docx,ppt and etc)
然後創建隨機名稱和.txt
extension.So文本文件時,用戶要下載此文件的文本,我創建隨機文件夾,並在該文件夾內創建具有用戶想要下載的相同文本的文件,然後給出與用戶上傳的文件版本相同的擴展名,並強制用戶下載它。 但是,當用戶下載文件,例如壓縮文件,然後如果用戶想打開,它說因爲不支持格式打開失敗。這發生在我嘗試使用docx,pdfs,zips和那種文件(不是txt,html,css,c文件)。php保存任何文件的文本不能正常工作?
例如:我強制用戶使用他上傳的相同擴展名下載,例如用戶上傳的zip文件,我用fread讀取文本,然後將該文本保存在數據庫或文本文件中,然後如果用戶想要下載該文件,我只是創建文件,並給它的zip擴展名,然後強制用戶下載它,但一旦用戶上傳這個文件,然後如果用戶想打開它失敗,但它應該打開zip文件,因爲該文件的內容文本是完全一樣的用戶上傳到服務器
回答應該包含以下內容:
1)爲什麼發生這種情況如何解決此問題?
2)什麼是理想的解決方案?
3)是安全的做到這一點?
您所設定的標準答案,當好事這個問題首先是沒有意義的,爲什麼要考慮可執行文件或包含二進制文件的文件?難道你不能創建一個zip文件並在其中添加上傳的文件嗎? – Gntem
@ Mr.Phoenix謝謝you.yeah我可以做到這一點,但我需要能夠閱讀這些文件,因爲我會向用戶顯示此文件的內容,它可以用不同的方式,例如,如果它是pdf ,當我完成我的PDF閱讀器時,它將是可讀的,當它是zip文件時,它不會有預覽,這可以類似於dropbox。例如,如果我上傳zip到dropbox然後如果我將它重命名爲txt文件,它會顯示我認爲我可以用這種方式存儲任何文件,所以當我的閱讀器準備就緒時,我可以在將來使用每種格式。但是,這個問題發生了 – Alex