Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скриншот сайта!

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ybiza
Отправлено: 04 Января, 2011 - 13:48:51
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Есть скрипт, он снимет скриншот сайта через браузер IE
PHP:
скопировать код в буфер обмена
  1.  
  2.     <?PHP
  3.     $browser = new COM("InternetExplorer.Application");
  4.     $browser->Visible = true;
  5.     $browser->Fullscreen = true;
  6.     $browser->StatusBar = false;
  7.  
  8.     $browser->Navigate("http://www.habrahabr.ru");
  9.     while ($browser->Busy)
  10.       com_message_pump(4000);
  11.  
  12.     $handle = $browser->HWND;  
  13.     $screenWidth = $browser->Width;
  14.     $screenHeight = $browser->Height;
  15.     $documentHeight = $browser->Document->body->scrollHeight;
  16.  
  17.     $scrollWidth = 20;
  18.     $scrollHeight = 20;
  19.     $testPartSize = 10*1024;
  20.  
  21.     $im = imagecreatetruecolor($screenWidth - $scrollWidth, $documentHeight);
  22.     for($top = 0; $top < $documentHeight; $top += $screenHeight)
  23.     {
  24.      $browser->Document->documentElement->scrollTop=$top;
  25.      while ($browser->Busy)
  26.       com_message_pump(4000);
  27.      echo $browser->Document->documentElement->scrollTop.PHP_EOL;
  28.      
  29.      for($i = 0; $i < 5; $i++)
  30.      {
  31.       $part = imagegrabwindow($handle, 0);
  32.       $dark = imagecolorallocate($part, 0, 0, 0);
  33.       imagefilledrectangle($part, $screenWidth - $scrollWidth, 0, $screenWidth, $screenHeight, $dark);
  34.       $testFile = sprintf("screenshot_%05d.png", $top);
  35.       imagepng($part, $testFile, 9, PNG_ALL_FILTERS);
  36.       clearstatcache();
  37.       if(filesize($testFile) > $testPartSize)
  38.        break;
  39.        
  40.       echo "Bad part, name: {$testFile}, try to generate again.".PHP_EOL;
  41.      }
  42.      
  43.      imagecopy(
  44.       $im, $part,
  45.       0, $top,
  46.       0, (!$top || ($top + $screenHeight) < $documentHeight) ? 0 : $screenHeight - $scrollHeight - $documentHeight % $screenHeight,
  47.       $screenWidth - $scrollWidth, $screenHeight);  
  48.      imagedestroy($part);  
  49.     }
  50.     imagepng($im, "screenshot.png", 9, PNG_ALL_FILTERS);
  51.     imagedestroy($im);
  52.  
  53.     $browser->Quit();
  54.  
  55.     * This source code was highlighted with Source Code Highlighter.
  56.  

На локальном сервере запускается ИЕ и делается скриншот, а как сделать чтобы на виртуальном выделенном сервере происходило тоже самое только с браузером fireFox или может есть какие то другие решения, а может придется использовать свой сервер. Что делать??
(Добавление)
PHP:
скопировать код в буфер обмена
  1. #!/bin/sh
  2. #
  3. # A ImageMagick script to take screenshots and thumbnails of webpages.
  4. #
  5. # It works by running a web browser in a vitural X server and framing a
  6. # snapshot image of that browser.
  7. #
  8. # Example usage: webthumb.sh << END
  9. # http://www.mozilla.org        mozilla.png       mozilla_thmb.png
  10. # http://www.imagemagick.org    imagemagick.png   imagemagick_thmb.png
  11. # http://www.uk.research.att.com/archive/vnc/xvnc.html xvnc.png xvnc_thmb.png
  12. # END
  13. #
  14. # Requires:
  15. #  * ImageMagick
  16. #  * Mozilla
  17. #  * Xvnc (as Virtual X server)
  18. #
  19. # Henryk Gerlach (2005-01-01)
  20. #
  21. #BUGS:
  22. # Mozilla:
  23. #  * -geometry does not work with mozilla
  24. #  * if mozilla is already running by the user it might not start up.
  25. #  * if mozilla needs to be configured for the user running it,
  26. #    the script won't work
  27. #
  28. # ---------------------------------
  29. # I made a copy of this script when it was published on a IM mail list.
  30. # It has been re-published, AS IS, as a example and resource for IM users.
  31. # Unfortunatally it may require some tweeking to get it to work for your
  32. # system with your browser.  I do not make any gurantee, or accept any
  33. # responsibility for this script.  Use at your own risk.
  34. #
  35. # Anthony Thyssen   5 April 2007.
  36. #
  37. # ---------------------------------
  38. BROWSER=mozilla
  39.  
  40. #The window title of the browser after startup, so we can grab it's window id.
  41. #If all fails, take root to grab the whole desktop
  42. BROWSERID="Mozilla"
  43. #BROWSERID="root"
  44.  
  45. DISPLAY=":1"
  46. #Use virtual X server
  47. VIRTUAL_X="Xvnc -depth 16 -localhost -geometry 1024x768 $DISPLAY"
  48.  
  49. #cut of browser decoration for 800x600 resolution
  50. CROP="800x490+0+90"
  51. THUMBSIZE="120x90"
  52.  
  53. INITTIME=5 #time to wait for the Xserver and the browser to start up
  54. LOADTIME=4 #time to wait for a page to load, take shot after this time
  55.  
  56. ######################################################
  57.  
  58. #init
  59. if test "$VIRTUAL_X" != ""; then
  60.   $VIRTUAL_X &
  61. fi
  62. export DISPLAY
  63. sleep $INITTIME
  64. $BROWSER &
  65. sleep $INITTIME
  66. if test "$BROWSERID" != "root"; then
  67.   BROWSERID=`xwininfo -name "$BROWSERID" | grep "Window id" | cut -d " " -f 4`
  68. fi
  69.  
  70. # loop
  71. while read URL BIG THUMB; do
  72.   $BROWSER -remote "openurl($URL)"
  73.   sleep  $LOADTIME
  74.   import -window "$BROWSERID" $BIG
  75.   if test "$CROP" != ""; then
  76.     mogrify -crop $CROP "$BIG"
  77.   fi
  78.   convert -size "$THUMBSIZE" "$BIG" -resize "$THUMBSIZE" "$THUMB"
  79. done
  80.  
  81. #cleanup
  82. #this is ugly
  83. if test "$VIRTUAL_X" != ""; then
  84.   killall Xvnc
  85. else
  86.   killall $BROWSER
  87. fi

Вот еще нашел кое что но не могу понять как запускать все это дело в автомате в связке с php
 
 Top
Ch_chov
Отправлено: 04 Января, 2011 - 14:30:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Вряд ли это получится.
Можно использовать какой нибудь онлайн сервис для этого.
http://www[dot]thumbshots[dot]ru/api
 
 Top
movEAX
Отправлено: 04 Января, 2011 - 14:32:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




ставим права на запуск

вызываем из пыха
PHP:
скопировать код в буфер обмена
  1. system('./webthumb.sh http://www.mozilla.org mozilla.png mozilla_thmb.png');

(Отредактировано автором: 04 Января, 2011 - 14:32:53)



-----
армия.. самое убогое место
 
 Top
ybiza
Отправлено: 04 Января, 2011 - 14:49:00
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




movEAX! Сделал все как вы сказали а результат не вижу почему где они хранятся! честно говоря не очень в PHP знаток.
Ch_chov! насчет сервисов готовых это нет там долго ждать надо! если что то быстрое другое дело!
 
 Top
Ch_chov
Отправлено: 04 Января, 2011 - 14:56:48
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




 
 Top
ybiza
Отправлено: 04 Января, 2011 - 15:01:22
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Если не трудно могли бы написать это здесь как именно и что делать, просто у меня есть идея но нет возможности знаний, если хотя бы немного?!
 
 Top
Ch_chov
Отправлено: 04 Января, 2011 - 15:13:02
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




# Requires:
# * ImageMagick
# * Mozilla
# * Xvnc (as Virtual X server)
 
 Top
ybiza
Отправлено: 04 Января, 2011 - 15:28:02
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Все понятно! Что не чего не понятно! А готового решения нет!
PHP:
скопировать код в буфер обмена
  1. # Requires:
  2. # * ImageMagick
  3. # * Mozilla
  4. # * Xvnc (as Virtual X server)
В этой связки как его реализовать то!?
 
 Top
Ch_chov
Отправлено: 04 Января, 2011 - 15:37:39
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




сначало запуститите отдельно shell скрипт, что бы проверить что он у вас работает и все что нужно установлено
 
 Top
ybiza
Отправлено: 04 Января, 2011 - 16:17:17
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Спасибо! чет очень все сложно! я так понимаю готового нет не чего? не могу сообразить SSH включил запрос сделал не чего не происходит
 
 Top
movEAX
Отправлено: 04 Января, 2011 - 17:07:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




ну может это подойдет http://code[dot]google[dot]com/p/wkhtmltopdf
тут нужно будет скачать wkhtmltoimage
скачиваем:
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc1-static-i386.tar.lzma
распаковываем:
tar -xvf wkhtmltoimage-0.10.0_rc1-static- i386.tar.lzma && chmod o+x wkhtmltoimage-i386
запускаем:
./wkhtmltoimage-i386 yandex.ru ya.jpg

(Отредактировано автором: 04 Января, 2011 - 18:11:21)



-----
армия.. самое убогое место
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB