別のサイトから取得したデータに基づいてGDでマップを描いたPHPファイルを作成しました。実際には、PHPの実行時にページの読み込みが非常に遅くなります。GDとパースウェブの充電時間
質問は、このPHPコードが1日1回だけ実行される方法はありますか? o自動的にWebサーバーを実行すると
別のサイトから取得したデータに基づいてGDでマップを描いたPHPファイルを作成しました。実際には、PHPの実行時にページの読み込みが非常に遅くなります。GDとパースウェブの充電時間
質問は、このPHPコードが1日1回だけ実行される方法はありますか? o自動的にWebサーバーを実行すると
マップイメージをキャッシュし、既に存在する場合はファイルからロードする必要があります。 1日に1回再生してください。この骨格コードは、その達成方法を概説しています。イメージが1日以上経過して初めてページが読み込まれると、イメージは再生成されてファイルに保存されます。
// If the file is older than 1 day, create a new one
if (filemtime("imagecache.jpg") < time() - 86400) {
// Generate your new image and write it to a file
// Assuming $im is an image from GD
// UPDATE: fixed file_put_contents() because I didn't know imagejpeg()
// could write the file by itself.
imagejpeg($im, "imagecache.jpg");
}
私はこのソリューションが本当に好きです...スケジュール上の外部スクリプトは必要ありません。ニース! – Problematic
@Problematic私はそれが実際に動作することを願っています! –
私も!私が見ることができる問題は、画像が失効した後に幸運な最初のユーザーがページを叩くということです@Bcl00が話している問題、すなわちGD crunchesとしての読み込みが遅いという問題が発生します。 – Problematic
重い持ち上げ、結果の保存やキャッシュ(たとえば、APCまたはmemcachedを使用する、または現在使用されているイメージを上書きするなど)を行うには、1日に1回(軽いトラフィックの時間帯に)実行するcron jobを作成します。新しいもの)を作成し、その結果をユーザーに表示します。
これを行う方法は数多くあります。それらはすべて、gdを使って静的なグラフィックファイルを作成し、ディスクのどこかに保存するPHPスクリプトを持つことから始まります。これはあなたがユーザーに示すものです。
することは、あなたはそれがあなたの2つの最も簡単な選択肢があるかもしれないファイルを生成したら。
Windowsタスクスケジューラを使用して、phpファイルを1日1回実行することができます。 http://stackoverflow.com/questions/295386/how-to-run-a-php-file-in-a-scheduled-task –