• ベストアンサー

PHPとCRONでHTMLサイトをコピー

現在index.phpで表示するサイトがあり、毎回処理をして重いので、copy.phpというファイルを作り5分おきにCRONで実行させて、index.phpで見えるページのコピーをindex.htmlというファイル名で吐き出させたいと考えているのですが、このような事は可能でしょうか。またどういったコードになりますか。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5083/13283)
回答No.1

$a = file_get_contents('http://localhost/index.php'); file_put_contents('index.html', $a); で、書き出せると思います。 何かテンプレートエンジンを使用しているなら、テンプレートエンジン自体にファイルを吐き出す機能が有ったりするので、そう言ったモノを使用すると言う手もあります。

関連するQ&A

  • cronでphpを実行できない

    cronでphpを一部実行できない状態です 試しにメール送信処理のphpを作りcronで実行しまして送信できました しかし、mysqlで情報を取得しそれをメール送信するphpをcronするとNGです。 上記phpはブラウザからは問題なく処理できます 実行権限などでしょうか? 詳細な解決策を知っている人は教えていただきたいです

    • ベストアンサー
    • PHP
  • PHPでRSS配信するときの処理について

    PHPでRSSを配信しようと思うのですが、 大規模なサイトのため少々負荷が気になります。 PHPの処理でRSSを表示させたものを毎回呼び出すのか、 index.rdfなどの別ファイルに書き出してからそれを呼び出すのか どちらが一般的なのでしょうか。 個人的には後者の方法を10分おきくらいに Cronで叩いて書き出すというのが一番良さそうな気がします。 ご意見をお聞かせください。

    • 締切済み
    • PHP
  • PHPファイルをcronで実行するには…?

    ご質問させてください。 私はさ○らインターネットを使っていて、そこで cron設定をしてあるPHPファイルを実行したいを考えています。(このPHPファイルというのはメール送信のファイルです。) いろいろなサイトを探し回って設定の方法を調べたら、実行コマンドに cd /home/○○/www/; ./○○.php もしくは /usr/local/bin/php -f /home/○○/www/○○.php  と記述すれば大丈夫ということなのですが、これが全く起動していないようなのです。 そもそも cron ではPHPを起動できないのでしょうか?ご存知の方がいらっしゃいましたらご教授お願いいたします!

    • ベストアンサー
    • PHP
  • wordpress内でphpをcronで叩きたい

    wordpressを運用しています。 wordpressのディレクトリ内(テーマファイル内)に置いたphpをcronで叩きたいのですが、うまくいきません。 そのphpは普通にブラウザでアクセスすれば実行されます。 なぜか考えてみたのですが、wordpress内ではcronが叩けない(cronでアクセス出来ない?)、もしくはphpの中でwordpress独自のグローバル変数「$wpdb」を用いているからだと思います。 $wpdbは下記URLのようなものです。 http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wpdb_Class おそらくwordpressのディレクトリ内ではcronが叩けない、という理由なのだと思いますが、php内では$wpdbというグローバル変数を用いたいため、wordpressのディレクトリ外で実行もできない状況です。 私のwordpressやcronの認識が甘いので、考えていることが見当はずれかもしれません。 結局$wpdbというグローバル変数を用いたphpを定期実行したいのですが、どうすればいいでしょうか?

  • ◆cronでphpを実行しリダイレクトまで

    いつもお世話になっています。 cronでphpを起動させています。 そのphp内でリダイレクトで自分を指定させたい。 header("Location: http://hohe/test.php?cnt=$cnt"); exit; 前後の処理は割愛させて頂きます(ループ処理もあります)。 ブラウザから直接phpを実行するとちゃんとリダイレクトしているのですが、cronだとリダイレクトしていません。 宜しくお願いします。

    • 締切済み
    • PHP
  • Cronで同じ処理を複数同時に実行するには?

    PHPで作ったWebサービスがあります。 ユーザーが100人いたとします。 この100ユーザーそれぞれのデータを、毎日0時(例えば)になると処理をするというCronを作りたいです。 PHPファイルは1ユーザー分の処理をするので、Cronで毎日0時に指定すると1人分の処理しかできません。 ではユーザー毎にCronを100個作るのは得策ではないと思います。 「一つのCron実行で100人分処理すれば?」というご意見もあるかもしれませんが、 1人分の処理が3~30秒かかるので、レンタルサーバーの1実行当たりの動作時間を超えてしまう問題があります。 毎日0時に100人分の処理を実行するのは無理なのでしょうか? そもそも共用のレンタルサーバーレベルでは、100人分の同時処理というのは現実的ではないでしょうか? そうすると、1人ずつ処理していくと、30秒×100人=50分の処理時間が必要になります。 こういう場合はどのように設計すれば良いのでしょうか? どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • fedora11でのcron設定

    fedora11,apache,php5の環境でcronを使いたいのですが、動きません。。 状況が、 fedora11 php5 apache を使用していて、cronを使ってphpの定期実行を行いたいのですが、どうしてもうまくいきません。 かなりググってはみたのですが、liuxについては初心者なので、どうにもわかりません。 設定内容が、 /etc/crontabが、 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ * /1 * * * * apache /usr/bin/php /var/www/html/cron.php で、/var/log/cron でログを確認したところ Jul 28 19:00:01 host CROND[8417]: (apache) CMD (/usr/bin/php /var/www/html/cron.php) となっていてこれが一分ごとに出てきます。 cron.phpにはファイル追記の処理を書いてあります。 エラーではないようなのですが、ファイル操作が行われていないようなので動いていないようなのです。 ローカルホストでphpを実行したらちゃんと動くのでphp内のミスではないようです。 パーミッション関係だったらログにエラーが出そうなものですし、、、。困っています。。 どなたかお知恵を貸していただけませんでしょうか、よろしくお願いします。

  • CentOSでcronからphp mail送れない

    こんにちは。 CentOSでcronの設定をしました。 */2 * * * * /usr/local/bin/php -f /usr/mail.php 1> /usr/log.txt 上記でmail.phpは2分置きに実行されていますが、 mail.php内のmb_send_mail関数がどうしても実行されません。 (ログよりmail.phpは実行されています。 print出力により確認) コマンドから直接 php /usr/mail.phpで実行するとメールは送信されます。 Centos 6.3 php 5.3.3 Cronでphpのmb_send_mailを実行する際には何か設定がいるのでしょうか。 アドバイス等ありましたら、よろしくお願いします。

  • Cronでのカレントディレクトリについて

    3日前からVine Linuxを初めてインストールしまして、 自宅サーバをやろうとしている、初心者です。 これまではxrea.comのレンタルスペースを借りてphpでコンテンツを作っていました。 phpをCronを使って、定期的実行する際に [シェルファイル] #!/bin/sh #PHP /usr/bin/php /var/www/html/filename.php exit のようにしてファイル操作をするphpを実行させたのですが [filename.php] <?php $fp=fopen("../data/dat.txt","w"); fputs($fp,$data); fclose($fp); ?> で実行したところURLからは問題なく dat.txt の内容を編集することができるのですが cronからだと PHP Warning: fopen(../data/data.txt): failed to open stream: No such file or directory となります。 そこでカレントディレクトリを調べると /root/PHPs/ となっていたので、そのようなエラーになっていました (1)カレントディレクトリを変更するコードを毎回phpに組み込む (2)フルパスでファイルを指定する ことでこのトラブルは回避されるのですが、 xrea.comでは、相対パス、カレントディレクトリを毎回指定しなくても、実行できていました。 cronでphpを実行する際に、phpが存在するディレクトリへ 自動でカレントディレクトリを移動するようにしたいです。 そのような方法があれば、教えてくください。

  • PHPの実行結果をファイルに書き込む

    現在、あるサイトのTOPページをPHPを使用して一部動的に出力させています。(新着情報、バナーなど)。それをcronにより、1時間に1回、index.htmlの吐き出しを行いたいと思っています。 readfile関数で、元ファイルの読み込みは出来るのですが、<?php ~ ?>部分は解釈されずにそのまま出力されてしまいます。 PHPを解釈してくれてそれを変数に格納する方法はありませんでしょうか? ご教授ください。よろしくお願い致します。 具体的には下記のとおりです。 index_original.html --------------------------- <html> <head>~~~</head> <body> <?php require("新着情報を出力する.php"); ?> <hr> <?php require("バナーを出力する.php"); ?> </body> </html> --------------------------- cronで実行させたいスクリプト --------------------------- <?php $index_array = require("index_original.html"); # ↑のようなことが理想です。 # 配列 $index_array をindex.htmlに吐き出す処理 ?> ---------------------------

    • ベストアンサー
    • PHP

専門家に質問してみよう