2012-01-28 6 views
1

可能性の重複:
Website screenshots using PHPページのスクリーンショットを取得します

私は人々がコンテンツ(ビデオストリーム)のストリームを見て、アプリケーションを持っていると、ボタンをそれぞれクリックする必要があります何かが起こったとき(彼らは赤い光を見ると仮定します)。

ユーザーがボタンをクリックした時点でストリームをスクリーンショットしたいと思っています。 問題は、ストリームが私のものではなく、ストリームとともに別のページにIFrameを使用していることです。ストリームはフラッシュオブジェクトです。

PHP/Javascriptを使用してFlashコンテンツをクリックした時点で、そのページをスクリーンショットしてサーバーに保存する必要があります。

私は必要なものと似たようなものを見ましたが、解決策はC#と.NETを使用しています。 Programmatically get a screenshot of a page

EDIT: アイデア、誰もがここで最高を説明することができれば、私は何ができるかのプラグイン/ Javaアプレットやサイトを入力するときにユーザーがインストール可能性があるものを使用しています。 (簡単にするほど良い)。

+0

これは重複していません。彼はスクリーンショットをクライアント側で取ろうとしています。 – Brad

+0

http://stackoverflow.com/a/757778/2432317 –

答えて

2

クライアント側でスクリーンショットを取得することはできませんが、確かにPHPではできません。 PHPはクライアントではなくサーバー上で動作します。

これを実行する唯一の方法は、何らかのブラウザプラグインを作成するか、Javaを利用することです。

はこの記事を参照してください:Take Screenshot of Browser via JavaScript (or something else)

+0

はい、ただし、私のサーバーを使用してページにアクセスし、スクリーンショットを作成する方法があります。 – Vadiklk

+0

@Vadiklk、どうやってそれを計画していますか?あなたのサーバーはページをレンダリングすることはできますが、クライアントが見るものとはまったく異なって見えるかもしれません。 – Brad

+0

ユーザーがボタンをクリックすると時刻が特定されます。クリックするとAJAXを使用してサーバーに要求が送信され、そこでスクリーンショットを保存します。 – Vadiklk

0

あなたのウェブサイトを閲覧するための要求は、ブラウザによってなされた後、あなたのPHPコードが実行され、ページのコンテンツを生成しています。あなたのユーザーがページを見た時点で、PHPは実行を終了し、ページの内容は静的に関係しています(もちろん、他の手段、例えばajaxやjavascriptなどで変更することもできます)。

これはPHPでは不可能であり、セキュリティ上の理由から別の手段(たとえば、ユーザが実行しているクライアント側のスクリプトなどが表示される可能性がある)では不可能です。

スクリーンショットを撮る唯一の方法は、自分でレンダリングすることです。私がオフハンドで考えることができる唯一の方法は、ページの読み込みに時間を掛け、次にボタンが押された時間をレンダリングしてこのページをレンダリングすることですが、これは決して簡単ではないし、本当に有効な提案でもありません。

おそらく、このサイトの部分を再設計する必要があると思います。

+0

質問を編集しました。 – Vadiklk

+0

さて、あなたのウェブサイトをJavaアプレットに埋め込み、jボタンを追加してください。ボタンが押されたら、スクリーンショットを撮ってあなた自身にEメールしてください。 – Swadq

0

ストリームがFlashオブジェクトだと言うので、単にFlash環境に読み込むことができます。 Flashでは、スクリーンショットを保存したり、そのフラッシュによって生成された画像、つまり静止画を保存して、自分が望むことを行うことができます。しかし、FlashがOSの環境を含めたディスプレイのスクリーンショットを作成できるかどうかはわかりません。

関連する問題