Ekran PHP ve / veya JavaScript ile Kepçe?

7 Cevap php

Bu kapmak Eğer bir PHP komut dosyası veya javascript ile görüntülediğiniz bir sayfayı taramak için mümkün olmadığını, sadece merak? Örneğin, bir iframe bir sayfa kadar yük ve daha sonra bir JPEG olarak bu görünümü kaydetmek?

Ben bu şekilde mümkün eminim, ama yardım bilinen herhangi uygulamaları / kütüphaneler var mı?

7 Cevap

Hayır, üzgünüm, bu Javascript ile imkansız ve PHP gibi bir sunucu tarafı dil ile kesinlikle imkansızdır. (Edit: Ben sayfanın, kullanıcının bakış bir ekran görüntüsü almak imkansız demek.)

Bu, sizin için bunu yapmak istediğinize bağlıdır, ancak sunucu tarafında çalışan ve orada web sayfasını kılan bir komut dosyası veya program bulmak isteyebilirsiniz. Eğer gerçekten sayfanın, kullanıcının bakış ekran görüntüsü almak istiyorsanız Ama, hemen hemen imkansız.

Webkit2png, yardımcı olur umarım denilen bir piton aracı yoktur. Ama PHP, ben onun mümkün inanmıyorum

Örnek için read here - GD2 uzantısı ve yakalama internals bazı bilgi ile mümkündür.

Siz JS bunu yapamam, ama size bir görüntüye dönüştürmek istediğiniz sayfanın URL'sini biliyorsanız bir şey bağlanarak sunucu tarafı yapabilirdi.

khtml2png sayfayı oluşturmak için php den denilebilir gibi araçları.

Yardım çocuklar için teşekkürler. Ben bu ilginç kaynak buldunuz:

http://www.zubrag.com/scripts/website-thumbnail-generator.php

Bu, herhangi bir yolla PHP ile adlandırılan bir EXE komut dosyası çalıştıran sadece bir örnek spesifik PHP değil. Ama inanıyorum bir windows sunucu ihtiyacı.

I GrabzIt önce PHP bunu kullanmış, ancak kendi sitesinden bakarak da kullanarak JavaScript bir ekran görüntüsü alabilir GrabzIt Javascript API görüntüyü kaydedemezsiniz ancak. JavaScript kodu gibi bir şeydir.

<script type="text/javascript"
src="http://grabz.it/services/javascript.ashx?key=APPLICATION KEY
&url=http://www.google.com">
</script>

Benzer bir şey yapmak için PHP bunu yapabilirsiniz:

include("GrabzItClient.class.php");

$grabzIt = new GrabzItClient("APPLICATION KEY", "APPLICATION SECRET");
$id = $grabzIt->TakePicture("http://www.google.com", "http://www.example.com/GrabzItHandler.php");

Sonra yukarıdaki örnekte bu "http://www.example.com/GrabzItHandler.php" dosyası olacak, sonucunu işlemek için bir PHP dosyası yapmak.

include("GrabzItClient.class.php");

$message = $_GET["message"];
$customId = $_GET["customid"];
$id = $_GET["id"];
$filename = $_GET["filename"];

$grabzIt = new GrabzItClient("APPLICATION KEY", "APPLICATION SECRET");
$result = $grabzIt->GetPicture($id);

if (!$result)
{
    return;
}

file_put_contents("images" . DIRECTORY_SEPARATOR . $filename, $result);

Ben GrabzIt web sitesinden bu örnekleri aldı ve bu cevap için onlara düzenlenmiş Not.