我要创建文件共享平台,但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