Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    catturare e salvare sfondo DIV

    Salve ragazzi, come da titolo vorrei capire come fare in php per "catturare" l'immagine di sfondo di un div nella mia pagina per poterla salvare, mi date una mano?
    Grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    La difficoltà della realizzazione dipende da come è impostato lo sfondo e può essere molto complicato.

    Caso "facile":
    se si trova esplicitamente scritto nel tag style del div, allora puoi prendere il nome (e l'eventuale percorso) del file che definisce lo sfondo con una espressione regolare.
    Una volta che hai il percorso ed il nome del file, lo leggi con file_get_contents() e te lo salvi come vuoi.

    Caso più complicato:
    Se si trova in una regola del CSS ed il CSS è in un file a parte, dalla pagina html devi leggere il tag che invoca il CSS, leggere dove si trova ed il suo nome.
    Devi sapere l'id o la classe del div di cui vuoi lo sfondo.
    Sapendo queste cose leggi il file CSS con file_get_contents() così da avere il contenuto del CSS.
    Ora devi scansionare il CSS alla ricerca del gruppo di regole riguardanti il div che ti interessa (le riconosci dall'id o dalla classe del div), trovato il gruppo devi leggere la regola specifica per lo sfondo, così da sapere percorso e nome file.
    Una volta che hai il percorso ed il nome del file, lo leggi con file_get_contents() e te lo salvi come vuoi.

    Se non sai fare nulla o quasi di queste cose, ti consiglio di approfondire le tue conoscenze oppure di chiedere nella sezione "Offro lavoro" se vuoi che qualcuno lo faccia per te.
    Come anticipato si tratta di una cosa abbastanza articolata, non penso che qualcuno abbia tempo/voglia di scriverti tutto il codice qui.
    Anche perché per farlo bisogna conoscere la struttura del sito su cui si deve agire.
    Ultima modifica di Alhazred; 12-02-2014 a 12:04

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    La difficoltà della realizzazione dipende da come è impostato lo sfondo e può essere molto complicato.

    Caso "facile":
    se si trova esplicitamente scritto nel tag style del div, allora puoi prendere il nome (e l'eventuale percorso) del file che definisce lo sfondo con una espressione regolare.
    Una volta che hai il percorso ed il nome del file, lo leggi con file_get_contents() e te lo salvi come vuoi.

    Caso più complicato:
    Se si trova in una regola del CSS ed il CSS è in un file a parte, dalla pagina html devi leggere il tag che invoca il CSS, leggere dove si trova ed il suo nome.
    Devi sapere l'id o la classe del div di cui vuoi lo sfondo.
    Sapendo queste cose leggi il file CSS con file_get_contents() così da avere il contenuto del CSS.
    Ora devi scansionare il CSS alla ricerca del gruppo di regole riguardanti il div che ti interessa (le riconosci dall'id o dalla classe del div), trovato il gruppo devi leggere la regola specifica per lo sfondo, così da sapere percorso e nome file.
    Una volta che hai il percorso ed il nome del file, lo leggi con file_get_contents() e te lo salvi come vuoi.

    Se non sai fare nulla o quasi di queste cose, ti consiglio di approfondire le tue conoscenze oppure di chiedere nella sezione "Offro lavoro" se vuoi che qualcuno lo faccia per te.
    Come anticipato si tratta di una cosa abbastanza articolata, non penso che qualcuno abbia tempo/voglia di scriverti tutto il codice qui.
    Anche perché per farlo bisogna conoscere la struttura del sito su cui si deve agire.
    Ciao Alhazred grazie per la risposta, comunque non sono troppo novizio di php, il problema però è che non credo possa fare come mi hai suggerito te..
    ti spiego, lo sfondo da catturare viene dalla MIA stessa pagina. Ho realizzato una piccola applicazione con le API di google maps che mi fa vedere (in base alle coordinate che passo) una mappa PRIVA di scritte (nomi di strade/punti di interesse/ecc), ora quello che mi serve di fare è uno "screenshot" (letteralmente!) di questa pagina in modo da potermi salvare la mappa così come la vedo da schermo sotto forma di immagine..come se schiacciassi "STAMP R SIST" insomma.

    ho spulciato tra quelle API ma non ho trovato assolutamente nulla che faccia al caso mio, e non so neanche se questo metodo funzioni però vorrei provare lo stesso ma non so da dove cominciare purtroppo perchè non mi sono mai trovato a fare qualcosa del genere

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Allora basta cercare "screenshot php" su google per trovare ad esempio (primo link)
    http://stackoverflow.com/questions/7...hots-using-php

    Oppure (secondo link)
    http://www.html.it/script/cattura-sc...do-script-php/

  5. #5
    ahahahah eh scusa ma il fatto dello "screenshot" mi è venuto sta mattina, sapessi che razza di query di ricerca ho impostato fino ad ora ahahah comunque ho risolto con il primo pezzetto di codice, grazie mille per il link..!

    PS. che tu sappia esiste un modo per "ritardare" l'esecuzione di un comando php? Per esempio finchè non schiaccio un pulsante o qualcosa così (però senza dover ricaricare la pagina!)

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    No, perché PHP vive sul server, il pulsante invece sul browser.
    Al più col pulsante puoi attivare una chiamata AJAX che attiva sul server uno script PHP, ma non avrà effetto sulla pagina che stai guardando, perché quella è sul tuo PC, non sul server.

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Vincenzo perché hai aperto una discussione simile anche in javascript? Lo sai il crosspost (discussione simile in due forum diversi) è vietato?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Ciao andrea, scusa non sapevo che fosse vietato ne ho aperti 2 perchè non sapevo se potevo ottenere il risultato voluto con un linguaggio lato client o lato server chiedo venia cancellate pure quello su javascript se volete..

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Allora basta cercare "screenshot php" su google per trovare ad esempio (primo link)
    http://stackoverflow.com/questions/7...hots-using-php

    Oppure (secondo link)
    http://www.html.it/script/cattura-sc...do-script-php/
    Ciao Alhazred ho bisogno di un aiuto, ero riuscito a far funzionare tutto a dovere (in locale), e a scattare questo benedetto screenshot con la funzione imagegrabscreen() che è PERFETTA per lo scopo..tutta via mi sono presto accorto che posso usarla SOLO in ambiente windows, ed il sito dove vorrei "agganciare" questa piccola app è situato in un server linux ergo: errore

    Sto impazzendo (guarda l'ora :S) ma devo assolutamente trovare una funzione che faccia la STESSA IDENTICA COSA, che però funzioni anche sotto linux..!!
    Ho provato il secondo script che mi hai postato, ma non va bene in quanto ha un limite molto ridotto di pixels..anche se sulla descrizione c'è scritto "Lo script permette di catturare e salvare screenshot contenuti fino a 2048 x 4096 pixels." in realtà il massimo che sono riuscito ad ottenere è stato 500x500 -.-
    Comunque oltre a questo ho provato svariate altre librerie tra le quali GrabzIt ed altre ancora ma nulla, sono in alto mare..non è che potresti darmi una mano? esiste un altra funzione delle GD che giri su ogni sistema? O per lo meno solo su linux?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.