Mislim da je problem upravo u položaju funkcije koja se poziva iz fajla resize.
Kada stavim tu f-ju (koja se poziva iz fajla resize) u fajl upload (u kom se inluduje fajl resize). Sve prođe kako treba.
Za sada sam tu f-ju stavio u fajl 'funkcije' koji se inkluduje na samom pocetku load fajla i u uredu je.
Mada bih voleo kada bi f-ja bila u istom fajlu koji je i poziva ali nece.
Inače, gresku koju javi pri drugom prolazu kroz for petlju je:
Cannot redeclare pravljenje_i_snimanje() (previously declared in ...)
A evo i kod:
upload fajl:
Code:
/**** for petlja u kojoj se inkluduje fajl resize ********/
for($x=0;$x<$broj_unosa;$x++){
$ime_slike = $_FILES['uploadFile'. $x]['name'];
if ($ime_slike == " " || $ime_slike == "")
{
# nema fajla za upload
}
else { # fajl postoji pa idemo dalje:
$ime_slike = stripslashes($ime_slike);
$ime_slike = str_replace("'","",$ime_slike);
$fajlinfo = pathinfo($ime_slike);
$ekstenzija = $fajlinfo[extension];
$ime_slike_new = $nasl."_".$x.".".$ekstenzija; // ime samog fajla bez putanje
$ime_thumb_new = "tmb_".$nasl."_".$x.".".$ekstenzija; // ime samog fajla bez putanje
// kopiranje aplodovanog fajla na privremenu lokaciju:
$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$odrediste.$ime_slike_new);
$slika[$x]=$ime_slike_new; // imena slika se sniz koji se kasnije unosi u bazu!
// echo "<br>pred pozivanje resize skripte <br>";
include ('resize.php');
}
}
resize fajl:
Code:
/**************************** fajl resize ******************************/
$src_slika = $odrediste.$ime_slike_new;
$putanja_dest_slika = $upload_putanja_slika.$ime_slike_new ;
$putanja_dest_thumb = $upload_putanja_thumb.$ime_thumb_new ;
$fajlinfo = pathinfo($src_slika);
$ekstenzija = $fajlinfo[extension];
//echo "<br>usao u : resize skriptu <br>";
if ($ekstenzija == "jpg" || $ekstenzija == "jpeg"){
$source = imagecreatefromJPEG($src_slika);
}
elseif ($ekstenzija == "png"){
$source = imageCreateFromPNG($src_slika);
}
elseif ($ekstenzija == "gif"){
$source = ImageCreateFromGIF($src_slika);
}
elseif ($ekstenzija == "wbmp"){
$source = imageCreateFromWBMP($src_slika);
}
else {
DIE("<br /><br /><center><strong>Format fajla nije podrazan!<br /> Podrzani fajlovi su: jpg/jpeg, png, gif i wbmp</strong></center>");
}
$width_src =imagesx($source);
$height_src=imagesy($source);
if ($width_src >= $height_src){
if ($width_src > $zadata_sirina) {
$odnos = $width_src / $zadata_sirina;
$odnos_thum = $width_src / $zadata_sirina_thumb;
$velicina = "velika";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
$velicina = "thumb";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
}
else { # sirna slike je manja od maximalno dozvoljnene
if ($width_src > $zadata_sirina_thumb)
{
$odnos_thum = $width_src / $zadata_sirina_thumb;
$velicina = "thumb";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
copy ($src_slika, $putanja_dest_slika);
}
else
{
copy ($src_slika, $putanja_dest_thumb);
copy ($src_slika, $putanja_dest_slika);
}
}
unlink ($src_slika);
}
elseif ($width_src < $height_src){
// echo "<br>usao u : width_src < height_src";
if ($height_src > $zadata_visina) {
// echo "<br>usao u : height_src > zadata_visina<br>";
$odnos = $height_src / $zadata_visina;
$odnos_thum = $height_src / $zadata_visina_thumb;
$velicina = "velika";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
$velicina = "thumb";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
}
else { # sirna slike je manja od maximalno dozvoljnene
if ($height_src > $zadata_visina_thumb)
{
// echo "<br>usao u : height_src > zadata_visina_thumb<br>";
$odnos_thum = $height_src / $zadata_visina_thumb;
$velicina = "thumb";
$izr_i_kopirano = pravljenje_i_snimanje($velicina,$odnos,$odnos_thum);
copy ($src_slika, $putanja_dest_slika);
}
else
{
// echo "<br>usao u : ELSE height_src > zadata_visina_thumb<br>";
copy ($src_slika, $putanja_dest_thumb);
copy ($src_slika, $putanja_dest_slika);
}
}
unlink ($src_slika);
}
/********************* funkcija za resize skriptu ************************/
/*Ova skripta pravi problem svojom pozicijom...*/
function pravljenje_i_snimanje($velicina,$odnos,$odnos_thum){
global $source,$width_src,$height_src,$ekstenzija,$putanja_dest_slika,$putanja_dest_thumb,$kvalitet_kompresije;
if ($velicina == "velika") {
$odrediste_slike = $putanja_dest_slika; $odnos_dimenzija = $odnos; }
elseif ($velicina == "thumb") {
$odrediste_slike = $putanja_dest_thumb; $odnos_dimenzija = $odnos_thum; }
$nova_sirina = $width_src / $odnos_dimenzija;
$nova_visina = $height_src / $odnos_dimenzija;
$nova_slika = imagecreatetruecolor($nova_sirina,$nova_visina);
@imagecopyresampled($nova_slika,$source , 0, 0, 0, 0, $nova_sirina,$nova_visina,imagesx($source),imagesy($source));
if ($ekstenzija == "jpg"){
$snimanje_slike = @imagejpeg($nova_slika, $odrediste_slike,$kvalitet_kompresije);
}
elseif ($ekstenzija == "gif"){
$snimanje_slike = @imagegif($nova_slika, $odrediste_slike,$kvalitet_kompresije);
}
elseif ($ekstenzija == "png"){
$snimanje_slike = @imagepng($nova_slika, $odrediste_slike,$kvalitet_kompresije);
}
elseif ($ekstenzija == "wbmp"){
$snimanje_slike = @imagepng($nova_slika, $odrediste_slike,$kvalitet_kompresije);
}
}
/********************** kraj funkcije za resize skriptu ************************/