kostenloser Webspace werbefrei: lima-city


Screenshot von Webseiten per PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m******e

    Hm, nun stehe ich gerade auf dem Schlauch.

    Für ein Projekt kann jeweils ein Bild hochgeladen werden, welches - danach in einem Monitor dargestellt - als PNG-Bild zurückgegeben wird.
    Die Ausgabemaße sind auswählbar (50px - 1000px Breite), die Einpassung anpassbar, funzt auch alles soweit.

    Nun möchte ich es erweitern, indem Screenshots von Webseiten integriert werden können.
    Also auswählbar, entweder Bild hochladen, oder eben Screenshot einer Webseite.
    Der Screenshot-Kram ist noch nicht in das Projekt integriert, funzt aber als extra Projekt auch schon - allerdings nur bis zu einer Breite von 300px.

    Bislang nutze ich dazu die API von thumbalizr.com.
    Angegeben ist, das als registrierter Free-User erstellte Bilder mit einer Breite zwischen 1-1280 px nutzbar sind.
    Funzt aber nur bis zu einer Breite von 300px womit ich türlich nicht einverstanden bin.

    Im Vergleich..
    Monitor-Webseitenscreen 300px
    Monitor-Webseitenscreen 1000px

    .. sieht das ^^ echt ätzend aus, zu..
    Monitor-UploadPic 300px
    Monitor-UploadPic 1000px

    Nutze ich den falschen Dienst, oder habe ich dabei etwas nicht beachtet?
    Gibt es eventuell andere, kostenlose nutzbare Dienste, welche besser sind?
    Oder gibt es gar eine PHP-Lösung, die mir entgangen ist?

    Der Hintergrundgedanke ist, dass ein solches Script auch auf gehosteten Systemen ohne Rootrechte laufen soll.

    Jemand ne Idee?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. PHP-Lösung auf einem "normalen" Linux-Root- oder VServer gibts nicht, weil gewisse Grundvorraussetzungen für dieses Vorhaben nicht gegeben sind (mit einem Windows-Server stehen die Chancen geringfügig besser).

    Kostenlos sind diese Dienste leider alle nicht, wenn es "gut" sein soll.

    Du könntest es höchstens mit Browsershots versuchen. Die haben auch eine Art API, wobei ich mich damit bisher nicht beschäftigt habe.

    Beitrag zuletzt geändert: 3.2.2013 21:26:00 von fabo
  4. hpage schrieb:
    das ist wie schon gesagt nicht möglich du kannst höchstens den HTML code auslesen
    du benötigst dazu einen Server aus den eine Software die das macht installiert ist
    du kannst dich andere apis ich suchen

    Gibt es die Begründung auch in verständlichem Deutsch? :wall:

    PHP allein reciht für solche Zwecke aber wohl wirklich nicht. Einen Eindruck davon, wie sowas realisierbar ist, gibt die Doku, die Michael Jentsch zu seinem Thumbshot-Dienst veröffentlicht hat.Auch, wenn man bei eigener Anwendung auf Dinge wie Loadbalancer & Co. verzichten könnte, immerhin interessanter Lesestoff.
  5. fabo schrieb:
    PHP-Lösung auf einem "normalen" Linux-Root- oder VServer gibts nicht, weil gewisse Grundvorraussetzungen für dieses Vorhaben nicht gegeben sind (mit einem Windows-Server stehen die Chancen geringfügig besser).

    Kostenlos sind diese Dienste leider alle nicht, wenn es "gut" sein soll.

    Du könntest es höchstens mit Browsershots versuchen. Die haben auch eine Art API, wobei ich mich damit bisher nicht beschäftigt habe.
    hmmm !?
    einem root server kannst alles beibringen (auch ohne, dass du irgendein gui installierst ;)

    und genau für root server ist die lösung so:
    <?php
    // 10.0.0.4/test/screenshot.php
    /**
        console öffnen und eingeben:
          import -window root screen.jpg
        screen.jpg kannst beliebeig wählen.
        das selbe mit 3sec verzögerung:
          sleep 3s; import -window root screen.png
        alle möglichketen von import unter (console) '> man import'.
    
        oder machst mit php einfach wie unten steht:
     */
    
    `sleep 5s; import -window root ./screen.jpg`;
    (als nur einzeiler ist schon richtig frech. nicht?)
    das dazu passende bild ist hier. no dann guten morgen die damen :)

    (von windows-server habe ich leider keine ahnun :(

    ==== EDIT: ooops! erst erwacht (06:30;) ====
    das habe ich übersehen.
    Der Hintergrundgedanke ist, dass ein solches Script auch auf gehosteten Systemen ohne Rootrechte laufen soll.
    oder du findest ein sys mit allen drum und dran (und so etwas kann ich dir verraten ;).

    Beitrag zuletzt geändert: 4.2.2013 6:34:34 von czibere
  6. Autor dieses Themas

    m******e

    Also erstmal, ne? Danke für eure Hilfestellung. :thumb:

    Hatte mir schon einiges angeschaut, darunter (kleinere Auswahl)
    - Command-line -Tools von phpgangsta.de, code.google.com und verypdf.com,
    - Scripte zB von sourceforge.net, Foren und Blogs ( <sehr interessant) durchwühlt,
    - Google befragt, und Services beschnuppert.

    Leider ist da bislang nix wirklich Brauchbares dabei, da fast immer die Script-Laufzeit überschritten, die Wartezeit unzumutbar, oder die Qualität unter aller Würde ist. Aber: Eile mit Weile, denn ich habs nun wirklich nicht eilig, und die Zeit schreitet ja voran.

    fabo schrieb:
    Du könntest es höchstens mit Browsershots versuchen. Die haben auch eine Art API
    Jepp, auch Browsershots als Webservice hat was. Allerdings ist die durchschnittliche Wartezeit mit angebenen 10 bis 15 Minuten für meine Idee leider nicht brauchbar.

    hpage schrieb:
    das ist wie schon gesagt nicht möglich du kannst höchstens den HTML code auslesen
    du benötigst dazu einen Server aus den eine Software die das macht installiert ist
    du kannst dich andere apis ich suchen
    Ja, was ich kann oder nicht kann, ist mir durchaus klar - Dir aber nicht.
    Schreibe doch nächstes mal einfach mal ein kleines Beispiel-Script dazu, oder gebe wenigstens weiterführende Links zum Senf. :wink:

    fatfreddy schrieb:
    PHP allein reciht für solche Zwecke aber wohl wirklich nicht. Einen Eindruck davon, wie sowas realisierbar ist, gibt die Doku, die Michael Jentsch zu seinem Thumbshot-Dienst veröffentlicht hat.Auch, wenn man bei eigener Anwendung auf Dinge wie Loadbalancer & Co. verzichten könnte, immerhin interessanter Lesestoff.
    ^^ Sehr interessant, allerdings sind seine Beispiele bzw. Online-Demos aufgrund enormer Zugriffe seit Ende 2010 leider offline.

    czibere schrieb:
    für root server ist die lösung so:
    <?php
    // 10.0.0.4/test/screenshot.php
    /**
        console öffnen und eingeben:
          import -window root screen.jpg
        screen.jpg kannst beliebeig wählen.
        das selbe mit 3sec verzögerung:
          sleep 3s; import -window root screen.png
        alle möglichketen von import unter (console) '> man import'.
    
        oder machst mit php einfach wie unten steht:
     */
    
    `sleep 5s; import -window root ./screen.jpg`;
    (als nur einzeiler ist schon richtig frech. nicht?)
    Jepp, frech und genial.

    oder du findest ein sys mit allen drum und dran (und so etwas kann ich dir verraten ;)
    Nun bin ich neugierig geworden. :)

    Grundsätzlich müsste sich die html2fpdf -Geschichte doch auch dahingehend umbiegen lassen, dass anstatt von PDF-Dokumenten eher Bilder im JPG oder PNG -Format zurückgegeben werden?

  7. Vielleicht hilft das ja weiter http://phpforum.de/archiv_65319_Komplette@PDFSeite@mit@Bildern@in@ein@JPG@umwandeln_anzeigen.html

    Dort soll es angeblich mit Imagemagick funktionieren.
  8. all-in1 schrieb:
    Vielleicht hilft das ja weiter http://phpforum.de/archiv_65319_Komplette@PDFSeite@mit@Bildern@in@ein@JPG@umwandeln_anzeigen.html

    Dort soll es angeblich mit Imagemagick funktionieren.


    Selbst wenn es funktioniert, brauchst du dazu erweiterte Rechte.
  9. Auf Lima wird es nichts, muss schon ein Server mit Rootrechten sein.
  10. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Also wenn es nur auf einem System laufen soll, auf dem du beliebige Programme installieren kannst …

    Mit phantomjs und dem richtigen Programm lassen sich Webseiten als Bilddateien (png, jpg, gif) rendern.

    Beispiel:
    phantomjs rasterize.js https://www.lima-city.de/ lima-city.png
    Ergibt lima-city.png

    Root-Rechte benötigst du nicht, es reicht, wenn du ein eigenes Programm ausführen kannst… die nötigen Fonts usw müssen allerdings installiert sein.

    Beitrag zuletzt geändert: 6.2.2013 16:25:58 von hackyourlife
  11. Autor dieses Themas

    m******e

    Holla, nun wirds interessant: Neuer Lesestoff fürs Menschle. :-D
    Werde mir alles in Ruhe anschauen, und ich weiß, es gibt einen Weg!

    Wie gesagt..
    Der Hintergrundgedanke ist, dass ein solches Script auch auf gehosteten Systemen ohne Rootrechte laufen soll.
    ..also auch hier bei Lima. Die Scriptlaufzeit schränkt das Ganze leider zusätzlich ein.

    Irgendwie möchte ich durch PHP einen Service aufrufen können, der ein Bild einer Webseite in der Auflösung 1000px Breite und Qualität 100 zurückliefert. Die Höhe des Bildes kann dabei auf >600px beschnitten werden.
  12. c************y

    Hallo,
    Ich würde das clientseitig machen und dann http://phpjs.org/functions/base64_encode/ base64 encodieren. Das Spart wertvolle Rechenzeit und zweitens kann man das ev. durch einen Popup realisieren, wo die Ziel-Webseite geladen wird.

    m.f.G.:Thomas131

    P.S.:Lesestoff:
    https://www.google.com/search?q=Screenshots+JS(JS)
    https://www.google.com/search?q=Screenshots+PHP(Serverseitig, was allerdings auf lima-city nicht laufen wird)

    Beitrag zuletzt geändert: 6.2.2013 20:37:57 von christcomunity
  13. christcomunity schrieb:
    Hallo,
    Ich würde das clientseitig machen .... Das Spart wertvolle Rechenzeit

    Wohl kaum! Clientseitig müßte der Screenshot für jeden neuen Besucher neu generiert werden. Das verschwendet deutlich mehr Rechenzeit, auch wenn diese dann an anderer Stelle verbraten wird.

    menschle schrieb:
    Der Hintergrundgedanke ist, dass ein solches Script auch auf gehosteten Systemen ohne Rootrechte laufen soll.
    ..also auch hier bei Lima.

    Wie bereits gesagt, wirst Du an diesem Kriterium vermutlich scheitern. :wink:
    Es wäre aber sicher möglich, einen Dienst, wie den genannten (im Übrigen ein wahrlich interessanter Ansatz.), auf einem Server laufen zu lassen und die Ergebnisse per PHP von beliebigen Webspaces, wie z.B. Lima, abrufen zu lassen
  14. menschle schrieb:
    ...
    czibere schrieb:
    ... oder du findest ein sys mit allen drum und dran (und so etwas kann ich dir verraten ;)
    Nun bin ich neugierig geworden. :) ...
    dann möchtest dir mal das hier ansehen ;)
  15. c************y

    Hallo,
    fatfreddy schrieb:
    christcomunity schrieb:
    Hallo,
    Ich würde das clientseitig machen .... Das Spart wertvolle Rechenzeit

    Wohl kaum! Clientseitig müßte der Screenshot für jeden neuen Besucher neu generiert werden. Das verschwendet deutlich mehr Rechenzeit, auch wenn diese dann an anderer Stelle verbraten wird.

    Ich denke wir meinen etwas anderes. Der was den Screenshot einstellen will generiert ihn per JS und schickt in zum Server.

    m.f.G.:Thomas131

    Beitrag zuletzt geändert: 7.2.2013 11:32:11 von christcomunity
  16. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!