【问题标题】:Save image file from one server to another repeatedly every x minutes每 x 分钟将图像文件从一台服务器重复保存到另一台服务器
【发布时间】:2013-01-23 10:02:42
【问题描述】:

我要问的是如何在 PHP 服务器上设置复制操作以每隔 x 分钟从远程服务器复制图像文件。

基本上我想做:

$copy = copy('http://domain.com/image.jpg', '.images/destimg.jpg');

此外,它每 5 分钟完成一次! 可以在不使用太多内存的情况下完成吗? cron工作怎么样?你有什么建议?

我实现的最简单的解决方案是这样的:

  1. 使用以下代码创建一个 php 文件

    <?php
    /*
     * Copy images from remote server 
     */
    
    $file = 'http://www.example.com/images/image.jpg';
    $file1 = 'http://www.example.com/images/image1.jpg';
    $file2 = 'http://www.example.com/images/image2.jpg';
    
    $newfile = '/ABSOLUTE/PATH/WHERE/TO/PUT/FILE/images/image.jpg';
    $newfile1 = '/ABSOLUTE/PATH/WHERE/TO/PUT/FILE/images/image1.jpg';
    $newfile2 = '/ABSOLUTE/PATH/WHERE/TO/PUT/FILE/images/image2.jpg';
    
    if ( copy($file, $newfile) && copy($file1, $newfile1) && copy($file2, $newfile2)) {
        echo "Copy success!";
        //return;
    } else {
        echo "Copy failed.";
    }
    ?>
    
  2. 测试您是否收到复制成功消息。

  3. 注释掉或删除回显和取消注释返回,删除else部分代码。
  4. 使用命令创建 cron 作业:

    php /ABSOLUTE/PATH/TO/YOUR/PHP/FILE/your-file.php

就是这样:-)

【问题讨论】:

    标签: php image cron copy jpeg


    【解决方案1】:

    如果您有 ssh 访问权限并且可以设置 cron 作业,那么这相当简单。您只需设置一个使用curlwget 的cron 作业来下载图像并将其保存在适当的文件夹中。 PHP 没有进入它。

    使用 curl,您的 crontab 将如下所示:

    */5 * * * * curl http://domain.com/image.jpg > /......./images/destimg.jpg
    

    设置为每 5 分钟运行一次。只需确保为图像目标设置绝对路径即可。

    有关 cron 作业的更多信息:https://en.wikipedia.org/wiki/Cron

    【讨论】:

    • 通过 Webmin 模块尝试了几种变体来添加 chron 作业。使用命令:
    • 抱歉,按下回车键...这是我的尝试:'cd /var/www/html/images/; curl -O example.com/image.jpg' 和 'curl -o example.com/image.jpg /var/www/html/images/image.jpg' 这两个命令似乎都可以,但是没有下载或保存任何内容...
    • @ronimarin 我的示例中有一个错误,现在已修复。 URL 之后和目的地之前需要有一个 >。
    • 仍然没有运气......(更改了源链接,我需要拉的图像在那里,我可以通过源服务器上的浏览器看到它)。命令 curl example.com/image.jpg 的输出 > /var/www/html/images/image.jpg .. % Total % Received % Xferd Average Speed Time Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 -- :--:-- 0:00:05 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
    • cron?真的吗?它非常复杂,如果你可以编写一个简单的守护进程,就没有理由使用它......
    猜你喜欢
    • 2016-10-18
    • 2015-04-06
    • 1970-01-01
    • 2011-11-05
    • 2020-06-18
    • 2018-04-12
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多