2

私が求めているのは、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. echo をコメント アウトまたは削除し、return のコメントを解除して、コードの else 部分を削除します。
  4. 次のコマンドで cron ジョブを作成します。

    php /絶対/パス/TO/YOUR/PHP/FILE/your-file.php

それだ :-)

4

1 に答える 1

2

ssh アクセスがあり、ジョブをセットアップできる場合cron、これは非常に簡単です。curlまたは のいずれかを使用wgetしてイメージをダウンロードし、適切なフォルダーに保存するcron ジョブをセットアップするだけです。PHPは入りません。

curl を使用すると、crontab は次のようになります。

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

これは 5 分ごとに実行されるように設定されています。画像の宛先の絶対パスを必ず設定してください。

cron ジョブの詳細: https://en.wikipedia.org/wiki/Cron

于 2013-01-23T11:07:46.633 に答える