V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qq7588245
V2EX  ›  PHP

求助!!服务器上的图片需要打包下载,环境是 nginx+ PHP

  •  1
     
  •   qq7588245 · 2017-06-15 14:41:21 +08:00 · 3204 次点击
    这是一个创建于 2702 天前的主题,其中的信息可能已经有所发展或是发生改变。

    图片上传上去 并没有打包 现在是下载的时候 php 进行打包然后输出,然后在删除压缩包! 这样太消耗资源了 ,请问有没有更好的解决方案 ,真心谢谢了。

    16 条回复    2017-06-17 17:09:53 +08:00
    yangliulnn
        1
    yangliulnn  
       2017-06-15 14:47:45 +08:00   ❤️ 1
    可以考虑第三方存储方案,例:某牛云
    skylancer
        2
    skylancer  
       2017-06-15 14:47:48 +08:00   ❤️ 1
    你图片有没有命名规律啊,有的话随便一个下载工具完事了..
    没有的话,你还是 SSH 上去打个大包吧
    qq7588245
        3
    qq7588245  
    OP
       2017-06-15 14:53:47 +08:00
    @yangliulnn 暂时不考虑第三方
    qq7588245
        4
    qq7588245  
    OP
       2017-06-15 14:54:09 +08:00
    @skylancer 这个必须要自动化,不能手动去打包。
    zhengxiaowai
        5
    zhengxiaowai  
       2017-06-15 16:23:30 +08:00
    考虑异步框架去打包
    qq7588245
        6
    qq7588245  
    OP
       2017-06-15 16:31:16 +08:00
    @zhengxiaowai 这个能具体一点吗?
    zhengxiaowai
        7
    zhengxiaowai  
       2017-06-15 16:52:46 +08:00   ❤️ 2
    一种简单的方案:图片上传完成后把所需要的信息发布到 MQ 中,另一边订阅打包

    MQ 可以是 redis 或者 rabbitMQ 等都行。

    打包前后记录打包状态,只有打包完成时候才可以下载。

    我不清楚你所指的 “消耗资源” 指的是什么,如果是 CPU IO 内存的话,这个没办法避免,只能放到另一台机器上打包。
    qq7588245
        8
    qq7588245  
    OP
       2017-06-15 16:55:50 +08:00
    @zhengxiaowai 谢谢,是一种方案,不用 php 来打包了
    willis
        9
    willis  
       2017-06-15 21:42:49 +08:00   ❤️ 1
    不打包,直接 rsync
    kkeybbs
        10
    kkeybbs  
       2017-06-15 23:57:57 +08:00 via Android   ❤️ 1
    如果只是为了备份,不想改网站,可以考虑只用七牛做差异备份。
    我自己用七牛,cron 里面加 qshell,定期差异同步到七牛(免费 10G 空间,个人够用),其他地方可以继续用 qshell 差异下载回来。
    hilyjiang
        11
    hilyjiang  
       2017-06-16 01:52:01 +08:00 via Android   ❤️ 1
    为什么要压缩完成后再下载呢?
    一边压缩一边下载不就好了?
    qq7588245
        12
    qq7588245  
    OP
       2017-06-16 09:08:04 +08:00
    @willis 这个用 php 实现呢?
    qq7588245
        13
    qq7588245  
    OP
       2017-06-16 09:08:15 +08:00
    @hilyjiang 怎么实现呢?没做过
    aksoft
        14
    aksoft  
       2017-06-16 09:21:21 +08:00
    打包下载下来干啥?直接同步到内网机器不就行了。
    qq7588245
        15
    qq7588245  
    OP
       2017-06-16 13:54:42 +08:00
    @aksoft 我这个是个平台 用户上传资料,我们打包下载资料
    aru
        16
    aru  
       2017-06-17 17:09:53 +08:00
    @qq7588245
    如果确定是压缩率高的图片格式( jpg/png 等),创建 zip 文件的时候压缩模式设为存储
    $zip->setCompressionIndex(0, ZipArchive::CM_STORE);
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:14 · PVG 11:14 · LAX 19:14 · JFK 22:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.