pomoc s funkcí

Hlásí mi to chybu, že očekává nějaké úvozovky při prvním řádku definice funkce. Když všechny úvozovky smažu tak zase nepřejde přes velikost obrázku (první podmínka) i když je obrázek malý. Vidíte někde chyby?


<?
/*
Funkce pro upload obrázku z formuláøe:

Img_Upload (char<$folder_path>, char<$img_name>, char<$th_name>, char<$form_name>, int<$max_size_img>, int<$max_byte>, int<$max_wh>, int<$size_th>)

syntaxe:

$folder_path - cesta k adresáøi kam chceme zapisovat obrázek ("./images/gallery/")
$img_name - jméno obrázku po uploadu ("pic1")
$th_name - jméno náhledu ("thumb1")
$form_name - jméno vstupního pole formuláøe (input type="file" name="obr1")
$max_size_img - maximální rozmìr delší strany obrázku v px, který se ještì nebude zmenšovat
$max_byte - maximální velikost obrázku v bytech, jaký lze zpracovat
$max_wh - maximální rozmìry obrázku v px, jaký lze zpracovat
$size_th - rozmìry delší strany náhledu v px.
*/

function Img_Upload ("$folder_path", "$img_name", "$th_name", "$form_name", $max_size_img, $max_byte, $max_wh, $size_th)
{
if(
(is_uploaded_file ($HTTP_POST_FILES["$form_name"]["tmp_name"]))
&&($HTTP_POST_FILES["$form_name"]["size"] < $max_byte)
)
{
if(
($HTTP_POST_FILES["$form_name"]["type"] == "image/pjpeg"
|| $HTTP_POST_FILES["$form_name"]["type"] == "image/jpeg"
|| $HTTP_POST_FILES["$form_name"]["type"] == "image/png")
)
{
switch ($HTTP_POST_FILES["$form_name"]["type"]):
case "image/pjpeg":
$type = ".jpg";
break;
case "image/jpeg":
$type = ".jpg";
break;
case "image/png":
$type = ".png";
break;
default:
$type = "ooo";
endswitch;
$image = "$folder_path"."$img_name"."$type";
$thumb = "$folder_path"."$th_name"."$type";
if (move_uploaded_file($HTTP_POST_FILES["$form_name"]["tmp_name"],"$image"))
{
switch ($type):
case "jpg":
$img_zdroj = ImageCreateFromJPEG ("$image");
break;
case "png":
$img_zdroj = ImageCreateFromPNG ("$image");
break;
endswitch;
if ((ImageSX ($img_zdroj) <= $max_wh) && (ImageSY ($img_zdroj) <= $max_wh))
{
$width = ImageSX ($img_zdroj);
$height = ImageSY ($img_zdroj);
if ($width > $height)
{
$velx = $size_th;
$vely = $size_th * ($height / $width);
}
elseif ($width < $height)
{
$velx = $size_th * ($width / $height);
$vely = $size_th;
}
elseif ($width == $height)
{
$velx = $size_th;
$vely = $size_th;
}
SetType ($velx, "integer");
SetType ($vely, "integer");
$th_cil = ImageCreateTrueColor($velx,$vely);
ImageCopyResampled($th_cil,$img_zdroj,0,0,0,0,$velx,$vely,$width,$height);

switch ($type):
case "jpg":
ImageJPEG ($th_cil,"$thumb");
ImageDestroy($th_cil);
break;
case "png":
ImagePNG ($th_cil,"$thumb");
ImageDestroy($th_cil);
break;
endswitch;

if ($width > $max_size_img || $height > $max_size_img)
{
$koef = $max_size_img / $size_th;
$kvelx = $velx * $koef;
$kvely = $vely * $koef;
SetType ($kvelx, "integer");
SetType ($kvely, "integer");
$img_cil = ImageCreateTrueColor($kvelx,$kvely);
ImageCopyResampled($img_cil,$img_zdroj,0,0,0,0,$kvelx,$kvely,$width,$height);
switch ($type):
case "jpg":
ImageJPEG ($img_cil,"$image");
ImageDestroy($img_cil);
break;
case "png":
ImagePNG ($img_cil,"$image");
ImageDestroy($img_cil);
break;
endswitch;
}
ImageDestroy($img_zdroj);
}
else
{
echo "CHYBA!<br />obrázek je vìtší než povolených $max_wh px.";
}
}
else
{
echo "CHYBA!<br />obrázek se nepodaøilo pøenést.";
}
}
else
{
echo "CHYBA!<br />obrázek je neznámého formátu.";
}
}
else
{
$kb = $max_byte / 1000;
echo "CHYBA!<br />obrázek je vìtší než povolených $kb kb.";
}
}

Img_Upload("./user/", "obrazek", "nahled", "img", 600, 300000, 1500, 150);
echo "<img src=user/obrazek.jpg>";
echo "<br />";
echo "<img src=user/nahled.jpg>";
?>
Pochopitelně, že v definici fce nemají být uvozovky... definuješ přece vstupní proměnné, nikoliv konstantní řetězec o hodnotě proměnné $nějaké, který bys ani nemoh předat... ;) z hlediska php ani jiných prog. jazyků se nečiní rozdíly mezi zápisy názvů proměnných, takže v php jsou všechny proměnné $něco, nikoliv "$něco" (to si nech na echa a operace s proměnnými).

Jestli ti můžu poradit, zkoušej echovat a vyechuj si, co vlastně v první podmínce porovnáváš.
Jestli ono to také nebude tím, že globální proměnná $HTTP_POST_FILES není dostupná uvnitř funkce? Dá se tam nějak dostat?
skus za deklaraciu funkcie dat

funkcia(parametre) {
global $HTTP_POST_FILES;
....
}

ja som tiez raz s tym mal problem nie konkretne u tejto globalnej premennej,ale tiez neboli dostupne vnutri funkcie a toto pomohlo.
Díky moc, to by mělo pomoct, já věděl že jsem to někde viděl, ale nemohl jsem to dlouho najít. Teď vidím, že to je v Koskovi na str. 70.