2011-02-03 10 views
0

私はデータベースサーバーのオーバーヘッドを減らそうとしています。私はサイト外のすべてのページのサイトマップを生成するためにPHPスクリプトを使用します。PHP、別のPHPファイルによって作成されたコンテンツをファイルに出力するにはどうすればよいですか?

私は週に1回実行され、php sitemapファイルの静的バージョンを作成するcronジョブを作成したいと思います。

しかし、私はループして、サイトマップのPHPスクリプトを呼び出して、別のファイルに内容を出力する必要があります。

他のPHPの内容をcronジョブ用のファイルに出力するにはどうすればよいですか?

編集: また、私はサーバーを停止させないようにしばらく待たなければならないか、または眠る必要があります。私はwww.mydomain.com/sitemap.phpをたくさん持っているサイトマップインデックスファイルであり、sitemap.xmlとファイルを持っている瞬間など

PHPスクリプトの流れのためのArvinのため

EDIT? start = 500 & max = 500

sitemap.phpは実行に1秒から2秒かかるので、私はそれらの多くを持っています。 N = 0から100

に私は新しいスクリプトでやってみたい何

さ...

新しいスクリプト

-loopは&スタートをsitemap.php --output = N &最大= 500

--wait 20秒

末端ループ

+0

使用が含まれています... – benhowdle89

+0

'file_get_contents'を? – Ross

答えて

0

は:

for($n=0; $n <= 100; $n++) { 
    $output = file_get_contents("http://domain.com/sitemap.php?start={$n}&max=500"); 
    file_put_contents($file, $output); 
    sleep(20); 
} 
+0

@Julesプログラムのフローを追加できますか? – Arvin

+0

@arvin、あなたは何を意味するのか分かりませんか? – Jules

+0

@Julesあなたが言ったので、睡眠/待っていることが必要だと思います。あなたがプログラムがすることを挙げることができたら。またはどのようにサイトマップが生成されるかを示します。私は、1つのスクリプトが1つのサイトマップを生成すると推測しています。これらのスクリプトはたくさんあります。他のスクリプトを1つずつ実行するスクリプトを1つ作成しようとしていますか?そして、あなたは各サイトマップが生成されている間、眠ることを意味しますか? – Arvin

3
php script.php > anotherfile.txt 

それとも

wget -O- http://yoursite/script.php -o/dev/null > anotherfile.txt 
1

それが全体のサイトをミラーリングすることができますので、私はあまりにもwgetを好むだろう。しかし、プログラム的な方法もあります:あなたの更新の詳細については

copy("http://localhost/sitemap.php", "/tmp/sitemap.html"); 
+0

私が考えなかった1つの問題は、私の編集を参照してください、私はそれぞれの後に待つ/寝る必要があるので、私はサーバーをダウンさせません。 – Jules

関連する問題