Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: Kuvan pyörittäminen

dartvaneri [05.12.2014 22:16:32]

#

Moro!
Yritän tehdä php:llä softaa, joka kääntäis kuvan. Mulla on alla olevan koodin mukainen koodi, joka toimii kyllä muutoin, mutta se ei tallenna kuvaa. Jos ottaa imagejpeg-funktiosta jälkimmäisen parametrin pois, ja kommentoi uudelleenohjauksen, niin se kyllä tulostaa tuon käännetyn kuvan. Mikähän mahtaa olla vikana?

<?php
	$fileName = $_POST["file"];
	$degrees = $_POST["degrees"];
	header('Content-type: image/jpeg');

	$source = imagecreatefromjpeg($fileName);
	$rotate = imagerotate($source, $degrees, 0);

	imagejpeg($rotate,$fileName);

	imagedestroy($source);
	imagedestroy($rotate);

	header("Location: images.php");
?>

t0ll0 [06.12.2014 12:14:29]

#

Tiedosto-oikeudet ei taida riittää, ryhmä tarvitsee kirjoitusoikeuden kansioon. Lisäksi rivillä 12 on ylimääräisiä merkkejä.
Et tarvitse tuota headeria jos vain käsittelet kuvaa etkä näytä sitä, mutta vissiin se testaamista varten siellä onkin.

dartvaneri [06.12.2014 14:39:57]

#

Okei, kokeilempa oikeuksien muuttamista. Joo, näköjään jäi kommentin toinen puolisko jäljelle..

Lisäys: Eipä ollu vaikutusta oikeuksien muutolla. Kokeilin 766 ja 777, muttei toiminut. is_writable()-funktio kyllä palauttaa true.

Jahas, näyttää siltä, että ongelma oliskin selaimen(firefoxin) välimuistissa, kun kääntää kuvan, ei tapahdu mitään, vaikka kuinka päivittelis sivua, mutta kun poistaa selaimen historia tiedot, ja välimusitin, niin muutos näkyy.

dartvaneri [06.12.2014 22:31:09]

#

Kiersimpä tuon välimuisti ongelman laittamalla kuvan perään '?' merkin jälkeen timestampin: img.jpg?timestamp.

Oisko paremipia ideoita?

The Alchemist [07.12.2014 09:29:13]

#

Sun täytynee opetella painamaan enterin sijaan F5:tä.

Metabolix [07.12.2014 11:39:59]

#

Kannattaisi ehkä tallentaa pyöritetty kuva eri tiedostoon kuin alkuperäinen. Silloin kuvaa voisi kääntää uudestaan ilman, että laatu heikkenee joka käännöllä, ja alkuperäinenkin kuva säilyisi.

amuse [09.12.2014 21:22:46]

#

Jos palvelimella on imagemagick asennettuna (yleensä esim. webhotellin tarjoajilla on), niin suosittelen käyttämään sitä kuvan käsittelyihin. Se tekee parempaa jälkeä, käyttää vähemmän resursseja ja PHP:n muistinhallinta ei ole rajoittavatekijä isoissakaan kuvissa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta