save Base64 Encoded...

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

scrubs
Junior Member
Mesaje: 33
Membru din: Joi Mar 20, 2008 7:43 am

save Base64 Encoded...

Mesajde scrubs » Lun Oct 29, 2012 12:56 pm

salut...am generat un grafic pe care il citesc folosind <img src="simpleplot.php"/>, vreau sa preiau imaginea si sa o transform in png ca tre sa fac export in pdf la graficul generat.
am incercat cu base64_decode imi genereaza png dar imi spune no preview available...
<?php
define('UPLOAD_DIR', 'images/');
$img = 'plot.php';
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$fisier = file_put_contents($file, $data);
print $fisier ? $file : 'Unable to save the file.';
?>
multumesc...



LikudioDNET
PHPRomania Supporter
Mesaje: 5
Membru din: Dum Noi 04, 2012 6:57 pm

Re: save Base64 Encoded...

Mesajde LikudioDNET » Dum Noi 04, 2012 7:28 pm

Deci, ca să ne lămurim.
Un anume script ţie îţi generează un PNG atunci când apelezi "simpleplot.php".
Păi ai mai multe soluţii.
Una din ele ar fi să te foloseşti de "imagecreatefrompng()", funcţie căriea îi pasezi url-ul absolut al lui "simpleplot.php", şi de acolo mai departe să-ţi manipulezi/salvezi imaginea cum vrei tu, folosind celelalte funcţii din GD. Dacă vrei fără GD, te foloseşti de file_get_contents(), apelată în base64_encode().

Iar apropo de "no preview available", nu uita că înainte de afişarea unei imagini, tre' să-i zici browserului ce Content-Type ai, folosindu-te de funcţia header(), ce trebuie apelată înainte de orice alt paragraf care ar putea genera vreun text.


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 9 vizitatori