Autor Zpráva
soucekgns
Profil
Dobrý den,
nevím, jak uložit vygenerovaný obrázek, který se generuje v test.php, ve formátu jpg, src obrázku je vždy test.php ...
Jak upravit jméno obrázku na původní název nekomprimovaného (např.: test.jpg)?
Děkuji za rady

Mám tento kód na ořezání obrázku do poměru 1x1:
// celý soubor test.php
<?php
header('Content-Type: image/jpeg');

$filename = 'test.jpg';
list($width, $height) = getimagesize($filename);
$dimensions = 200;
$set_more = (($width/$height)*$dimensions)-$dimensions; 

$image_p = imagecreatetruecolor($dimensions, $dimensions);
$image = imagecreatefromjpeg($filename);
if ($width > $height) {imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dimensions+$set_more, $dimensions, $width, $height);}
else {imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dimensions, $dimensions+$set_more, $width, $height);}

imagejpeg($image_p, null, 100);
?>
Tori
Profil
soucekgns:
Nepochopila jsem přesně, co myslíte tím "uložit", takže píšu víc variant :)
1. = "po kliknutí na odkaz test.php nabídnout ke stažení obrázek, a aby měl původní jméno" - nastavte správné hlavičky:
header("Content-Description: File Transfer"); 
header("Content-Type: application/force-download"); 
header("Content-Disposition: attachment; filename=\"$filename\"");

2. = "mám kód <img src='test.php'>, ale když kliknu pravým myšítkem a 'Uložit obrázek...', tak aby měl původní jméno" - zkusila bych přidat do .htaccess pravidlo, aby se adresy /obrazky/zmensene/neco.jpg překládaly na test.php?name=neco.jpg, a pak v html používat tu první adresu
3. = "uložit pod původním jménem na serveru" - viz 2.parametr fce imagejpeg
SeparateSK
Profil
Ahoj, tu mas odpoved:
<?php
header('Content-Type: image/jpeg');

$filename = 'test.jpg';
list($width, $height) = getimagesize($filename);
$dimensions = 200;
$set_more = (($width/$height)*$dimensions)-$dimensions; 

$image_p = imagecreatetruecolor($dimensions, $dimensions);
$image = imagecreatefromjpeg($filename);
if ($width > $height) {imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dimensions+$set_more, $dimensions, $width, $height);}
else {imagecopyresampled($image_p, $image, 0, 0, 0, 0, $dimensions, $dimensions+$set_more, $width, $height);}

imagejpeg($image_p, $filename, 100);
?>


Vysledny subor bude ulozeny tam, kde mas tento php script - stacilo nahradit to null s menom obrazku.

Dufam, ze som pomohol
     <script type="text/javascript">alert("SeparateSK =)");</script>
soucekgns
Profil
Díky moc,
já jsem blbec ... on se ten soubor pořád přepisoval :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0