Autor Zpráva
TomasUL
Profil *
Hi all,
byl bych rád, kdyby mi někdo poradil, kde mám chybu v mém skriptu. Pomocí něj si dělám zmenšeniny obrázků pro svou fotogalerii, ale jakmil mám obrázek jehož celkové rozměry jsou větší jak cca. 2560px, tak se miniatura neudělá :( Díky za radu!

<?php
//header('Content-type: image/jpeg');

if(Is_File("../../fotografie/$_GET[fotografie]")){
  $sirka = 145;
	$vyska = 105;
	$velikost = GetImageSize("../../fotografie/$_GET[fotografie]");
	$puvodni_sirka = $velikost[0];
	$puvodni_vyska = $velikost[1];
  
  if($puvodni_sirka < $sirka) $sirka = $puvodni_sirka; //pouze zmenšit
	if($puvodni_vyska < $vyska) $vyska = $puvodni_vyska; //pouze zmenšit
	
  if($puvodni_sirka > $puvodni_vyska){
		$vyska = Round(($puvodni_vyska / ($puvodni_sirka / $sirka)));
	}
	else{
		$sirka = Round(($puvodni_sirka / ($puvodni_vyska / $vyska)));
  }
  
  $zmensena = ImageCreateTrueColor($sirka, $vyska);
  $puvodni = ImageCreateFromJpeg("../../fotografie/$_GET[fotografie]");

  ImageCopyResampled($zmensena, $puvodni, 0, 0, 0, 0, $sirka, $vyska, $puvodni_sirka, $puvodni_vyska);
  
  ImageJpeg($zmensena);
  
}
?>
ninja
Profil
Dojde vyhrazena RAM pro skript. Zvysit maximalni moznou alokovanou operacni pamet pro PHP vlakno.
TomasUL
Profil *
Heh, to je super, ale zas tak tomu nerozumim...... mohl by jsi mi to napsat jak bych to mohl udelat? :D
ninja
Profil
napis svemu adminovi serveru nebo na hosting. Nastavuje se to v php.ini.
srigi
Profil
V php.ini je treba zmenit tento riadok
memory_limit = 24M      ; Maximum amount of memory a script may consume
peta
Profil
TomasUL
Proste hosting se brani vuci uzivatelum zateznikum tak, ze defaultne ma nastavenou nejakou max. alokacni pamet. Coz se dela v php.ini . K tomu nemas pristup, pouze admin hostingu.
Prepocitavat 2500xneco obrazek neni zadna legrace. Tohle muze uploadovat na hosting snad jen "omezeny" uzivatel. Proc? protoze, pokud pri uploadu tak velkeho souboru zkape www program, pak muzes cely obrazek uploadovat znova. Daleko rychlejsi zpusob je to nahrat primo pres FTP, tam je to i osetrene na preruseni spojeni, obvykle.

Co treba pridat na prvni radky scriptu error_reporting a precist si chybovou hlasku programu?
"tak se miniatura neudělá" V takovem pripade se to vetsinou vypise, proc to neudela.
@ini_set('error_reporting', E_ALL);
@ini_set("display_errors", "on");
error_reporting(E_ALL); //chyby = on
... script...

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