Autor Zpráva
Welton123
Profil
Zdravím, zajímalo by mě, zda je možnost udělat z php souboru obrázek?
Nebo tak, aby se dala ta stránka s kodem (obrázek a na něm text) zobrazit v tagu <img src="obrazek.png">
Joker
Profil
Welton123:
Samozřejmě. Výsledkem PHP skriptu je to, co se vypíše prohlížeči.
Když uděláte echo obrázkových dat a nastavíte tomu správný MIME typ, bude to obrázek.
peta
Profil
Ano, v php se da obrazek slozit z jineho obrazku i textu.
http://php.net/image - seznam funkci pro praci s obrazky

Ano, v html lze zobrazit obrazek jako data base64.
http://www.freeformatter.com/base64-encoder.html
http://cz2.php.net/manual/en/function.base64-decode.php
<?php
function base64_to_jpeg( $inputfile, $outputfile ) {
  /* read data (binary) */
  $ifp = fopen( $inputfile, "rb" );
  $imageData = fread( $ifp, filesize( $inputfile ) );
  fclose( $ifp );
  /* encode & write data (binary) */
  $ifp = fopen( $outputfile, "wb" );
  fwrite( $ifp, base64_decode( $imageData ) );
  fclose( $ifp );
  /* return output filename */
  return( $outputfile );
}
?> 

Ano, v php lze zmeni hlavicku mimetype php souboru z text/html na image/jpeg, volat obrazek jako zobraz_obrazek.php?file=muj.jpg . Pokud nastavis hlavicku na image/jpeg prohlizec povazuje soubor za obrazek.
http://cz2.php.net/manual/en/function.header.php
<?php
ob_start();
// assuming you have image data in $imagedata
$length = strlen($imagedata);
header('Last-Modified: '.date('r'));
header('Accept-Ranges: bytes');
header('Content-Length: '.$length);
header('Content-Type: image/jpeg');
print($imagedata);
ob_end_flush();
?>

Mozna te zajima screen z webove stranky, ale.
Welton123
Profil
Děkuji, ale když vložím do souboru s obrázkem a textem nahoru kod:
<?php
ob_start();
// assuming you have image data in $imagedata
$length = strlen($imagedata);
header('Last-Modified: '.date('r'));
header('Accept-Ranges: bytes');
header('Content-Length: '.$length);
header('Content-Type: image/jpeg');
print($imagedata);
ob_end_flush();
?>
Tak to sice funguje jako obrázek, ale obrázek se nezobrazí a ani text :/

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: