ウェブサイトのサムネイルを生成したい。 http://www.websnapr.com/PHPを使用してURLからサムネイルを作成
私はサーバー上のすべての要求を処理できるので、これをどのように行うことができますか?
ウェブサイトのサムネイルを生成したい。 http://www.websnapr.com/PHPを使用してURLからサムネイルを作成
私はサーバー上のすべての要求を処理できるので、これをどのように行うことができますか?
は、PHPはそれ自身でこれを行うことができないか確認する必要があります。
スクリーンショットをキャプチャし、その方法でPHPを使用して通信する外部の方法があります。
まず、スクリーンショットを撮るためのシステムが必要です。 IECapt(http://iecapt.sourceforge.net/)、CutyCapt(http://cutycapt.sourceforge.net/)、khtml2png(http://khtml2png.sourceforge.net/)を見て、それらのいずれかをシステム。
次に、スクリーンショット取得アプリケーションをexec()してブラウザにデータを返すPHPスクリプトを設定します。
<?php
$in_url = 'http://' . $_REQUEST['url']; // !!INSECURE!! In production, make sure to sanitize this input!
$filename = '/var/cutycapt/images/' . $_REQUEST['url'] . '.png'; // Will probably need to normalize filename too, this is just an illustration
// First check the file does not exist, if it does exist skip generation and reuse the file
// This is a super simple caching system that will help to reduce the resource requirements
if(!file_exists($filename)) {
exec('/usr/local/bin/CutyCapt --url="' . $_REQUEST['url'] . '" --out="' . $filename . '"');
}
// Second check if the file exists, either from a previous run or from the above generation routine
if(file_exists($filename)) {
header('Content-type: image/png');
print file_get_contents($filename);
} else {
header('Status: 500 Internal Server Error');
}
?>
あなたは、次のようにスクリプトを呼び出すことができます:たとえば
スクリーンショットを構築
http://localhost/screenshot.php?url=www.google.com
はCPUに負荷をかけになるだろうので、私は強く、いくつかの建物をお勧めしますファイルキャッシュの種類(つまり、出力の結果を保存して、どこかにスクリーンショットがあるかどうかを確認する)、おそらくはキューイングシステムであっても、スクリーンショットサーバが圧倒されることはありません。
私は恐らくphpがこのようなタスクを単独で処理することはできません。サーバーにいくつかの外部ライブラリーをインストールする必要があります。
可能な関連answer
ティムは、あなたが共有ホスト上でそのような何かを行うことができない、おそらく正しいです。
私が行った実装は、専用のLinuxサーバ上で使用され、Xvfb、firefoxとimportコマンドが含まれていました。
また、それがHTMLレンダリングライブラリが含まれていないようthis question
回答は、使用しているプラットフォームによって異なります。とにかくここにいるquestion asked before.
コマンドラインベースのスクリーンショットを作成したい場合、ほとんどのaproachesはXvfbに何らかの形で関わっているか、またはたくさんの依存関係/ライブラリをインストールしています。
のlinux:
khtml2png.sourceforge.net
mysql-apache-php.com/website_screenshot.htm
cutycapt.sourceforge.net
www.unruhdesigns。COM /ニュース/ 2010/10 /使用-のfirefox・オン・ヘッドレス・サーバー・ツー・メークのスクリーンショット・オブ・ウェブサイト
窓:
iecapt.sourceforge.net
MAC:
www.paulhammond.org/webkit2png/
EDIT:それはもちろんのRackspaceのようなものでかのう以上だし、コンパイルすることができます任意の共有のホスト上とwebfactionのような独自のコードをインストールしてください。
歓迎
関連する読者:http://googlecode.blogspot.com/2010/11/instant-previews-under-hood.html –