
Originariamente inviata da
.Kurt
Una soluzione che mi viene in mente, che ti avevo detto precedentemente, è quella di recuperare tutte le immagini singolarmente e di sostituirle alle originali. Se esegui
codice:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/chart?cht=tx&chf=bg,s,FFFFFF00&chco=000000&chl=ADD%2…%5C%7B%28u%29%5C+%5C+se%5C+L%3D%5CLambda%7B%7D%5C+%5C+e%5C+%5C+k%3D1%5C%7D');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com/');
$image = curl_exec($ch);
curl_close($ch);
// usa $image
riesci a recuperare correttamente l'immagine? Se sì, puoi fare N richieste per le N immagini presenti nel documenti che ti interessa. Hai già un pezzo di codice con cui puoi recuperare tutti i link delle immagini. Una volta recuperati tutti i contenuti delle immagini, puoi sostituirle agli originali. Invece di urlencodarle come ti hanno fatto fare, puoi trasformarle in
codice:
<img src="data:image/png;base64,<?php echo base64_encode($image_che_ho_recuperato_da_curl); ?>" />
o, ancora meglio, salvarle in qualche cartella per poterle riutilizzare successivamente, visto più immagini ci sono nel documento, più richieste devi fare, più tempo lo script ci impiega per fare tutto.
In breve, dovresti fare come fa la funzione "Salva la pagina con nome" del tuo browser: oltre alla pagina stessa, salvi anche tutte le risorse che vengono utilizzate al suo interno (nel caso del browser sono css, immagini, js vari, etc.)
L'altra soluzione è quella di includere semplicemente il documento con un iframe, senza scaricare nulla.