最近系统中有一个文件下载问题,每个用户有自己的的上传文件,因为隐私问题,所以在下载用户的文件或者图片的时候都需要统一的AUTH验证,然后再输出文件.一般的文件下载方式主要是直接连接,或者用head下载,因为不能直接连接文件的真实路径(有单独的文件服务器),所以本打算用header下载,但是必须要进行fopen,fread等操作,特别是大文件下载, 占用CPU,内存严重,效果不满意 .有没有没有下载文件的办法, 既能实现验证,又能达到高效的下载方法, 我觉得应该不用打开读取就能下载吧?

解决方案 »

  1.   

    FTP 与数据库帐号挂钩 走FTP通道
      

  2.   

    感谢你的回复.
    这个方法应该是不可行的,每个用户对自己上传的文件的访问都是需要验证的,而且因为涉及一些图片,有可能要立即就要显示,所以FTP方法不好. 还有木有别有办法可以办到呢? 希望能高效的达到输出文件的效果.可以跨平台.
      

  3.   

    用缓冲方法去 fread 就行了啊。
    在header 前验证下不就行了??
      

  4.   

    这事情纯php还真干不了,得用XSendfile这样的模块
      

  5.   

    我不信FTP+PHP实现不了你需要的东西.把你的需求完整的说来听听