Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kopírovanie obrázka na server, interpreter hlási neznámu funkciu

<?
	require"../../../redit/protection.php";
	session_start();
	ob_start();

  if ($file<>"") {
    $rest=strrchr($file_name,".");
	$rest=substr($rest,1);
	if (($rest=="JPG") or ($rest=="jpg") or ($rest=="jpeg") or ($rest=="JPEG")) {
	  function kopiruj($cesta,$file,$soubor,$tn,$width,$height,$truecolor) { 
        $gd=$truecolor;
	    if ($tn=='n') {
	    } else { 
	      if (empty($width)) $width=120;
		  if (empty($height)) $height=80;
		  $max_width=$width;
		  $max_height=$height;
		  $size=GetImageSize($file);
		  $width=$size[0];
		  $height=$size[1];
		  $x_ratio=$max_width/$width;
		  $y_ratio=$max_height/$height;
		  if (($width<=$max_width) && ($height<=$max_height)) {
		    $tn_width=$width;
		    $tn_height=$height;
		  } else
		    if (($x_ratio*$height)<$max_height) {
		      $tn_height=ceil($x_ratio*$height);
			  $tn_width=$max_width;
		    } else {
		      $tn_width=ceil($y_ratio*$width);
		      $tn_height=$max_height;
		    }
		  $src=imagecreatefromjpeg($file);
		  if ($gd=='n') { 
		    $dst=imagecreate($tn_width,$tn_height);
		    ImageCopyResized($dst,$src,0,0,0,0,$tn_width,$tn_height,$width,$height);
		  } else {
		    $dst=imagecreatetruecolor($tn_width,$tn_height);
			ImageCopyResampled($dst,$src,0,0,0,0,$tn_width,$tn_height,$width,$height);
		  }
		  $file_name_small=$cesta."/".$soubor;
		  ImageJPEG($dst,$file_name_small,75);
		  chmod($file_name_small,0777);
		  ImageDestroy($src);ImageDestroy($dst);
		}
	  }
	  if (!empty($file)) {
	    include("spojenie.php");
		$vysledok8=MySQL_Query("SELECT id FROM ".$_SESSION["lang"]."clanky where nazov='$nnn'",$conn1);
		$radek8=mysql_fetch_array($vysledok8);
		$id3=$radek8[id];
		$nazov1="$id3".".jpg";
		kopiruj("clanky",$file,$nazov1,'y','120','80','y');
		$vydek=mysql_query("update ".$_SESSION["lang"]."clanky set obrazok='clanky/$nazov1' where nazov='$nnn'",$conn1) or die("Chyba pri vkladani obrazku");
	  }
	} else {
	  echo"Obrázok musí by5 typu: <b>jpg</b>";
	}
  }else {}
  
	ob_end_flush();
?>

Toto je kód na skopírovanie obrázka z klienta na server. PHP interpreter vyhodí chybu na príkaze $src=imagecreatefromjpeg($file);. Je imagecreatefromjpeg nejaký zlý príkaz alebo nový a na serveri beží staré PHP? Používam EasyPHP 1.8, ale nefunguje to ani na Internete. Tam netuším o akú verziu PHP sa jedná. Viete mi poradiť iný vhodnejší kód na kopírovanie na server. Kód som nevytvoril ja, len ho potrebujem spojazdniť. Vraj to funguje na jednej stránke.

Předmět Autor Datum
Pokud jde jen o upload, nebylo by jednodušší použít formulář a v PHP $_FILES?
Mitch 19.08.2007 15:07
Mitch
Nepoznám to. Je to možné. Ako sa s tým pracuje?
msx. 19.08.2007 23:46
msx.
Sorry za opožděnou odpověď. Já jsem se všehno potřebný dočetl na features.file-upload
Mitch 29.08.2007 13:20
Mitch
co takto zapnut GD ? :-D:-D:-D
mrazik 27.08.2007 13:41
mrazik
a ta premenna $file ti tam ako vstupuje ?
mrazik 27.08.2007 13:48
mrazik
Vyriešil som to pomocou funkcie copy(), lenže neskôr som chcel pridať aj náhľady a zistil som, že ak…
msx. 05.09.2007 18:55
msx.
ale nefunguje to ani na Internete. Tam netuším o akú verziu PHP sa jedná. PHP interpreter nie je "n… poslední
MM.. 05.09.2007 19:14
MM..

Vyriešil som to pomocou funkcie copy(), lenže neskôr som chcel pridať aj náhľady a zistil som, že ak chcem vytvoriť zmenšeninu obrázka, tak sa nezaobídem bez createimagefromjpeg(). S tým mám už problém. Vraj mám nainštalovať novšiu verziu PHP (mám 4.6), ale z toho som jeleň. Ale teraz to nenaháňa, tak sa momentálne tomu nevenujem.

ale nefunguje to ani na Internete. Tam netuším o akú verziu PHP sa jedná.

PHP interpreter nie je "na internete", ale na serveri na ktorom mas web stranku. Upgradovat ho moze spravca toho servera.

P.S. a uz sa ta niekto pytal odkial si zobral premennu $file? Niekde ju nastavujes?
P.S.2. a aku presne chybovu hlasku to vypise?

Zpět do poradny Odpovědět na původní otázku Nahoru