Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

problem razdvajanja koda u različite fajlove

[es] :: PHP :: problem razdvajanja koda u različite fajlove

[ Pregleda: 1949 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pavleg

Član broj: 112866
Poruke: 78
*.bc.pttrs.net.



Profil

icon problem razdvajanja koda u različite fajlove30.08.2007. u 13:21 - pre 201 meseci
Napravio sam skriptu koja vrši upload i resize slika a potom ih (informacije o njima)
smešta u bazu. Kod koji radi sa bazom je u jednom fajlu, ali nikako ne uspevam da odvojim
kod za upload u jedan i kod za resize u drugi fajl.

Ta dva koda sam i pisao i testirao odvojeno i tako rade kako treba.
Kada sam ih povezao, u fajl za upload stavio include once fajla resize (probao i sa require) ne ide.
Inkludovanje resize-a se nalazi u for pelji koja unosi slike, snima ih u tmp, a potom bi
trebao ici resize preko tog includa.

Problem je, mislim, negde oko funkcije koja postoji u resize-fajlu, ta funkcija vrši smanjivanje i kopiranje
i poziva se posle setovanja potrebnih parametara i odredjivanje određenih uslova.

Odradi se snimanje svih slika u tmp ali samo prva slika prodje potrebno menjanje velicine.

Kada jednostavno uzmem sadržaj fajla resize i nalepim ga na mesto gde bi ga trebao inkludovati,
uz izdvajanje te f-je na kraj tog integrisanog fajla, sve se odradi kako treba.

Ne znam da li da postavljam kod, ili možda neko već ima ideju gde je problem?
Izgleda da je problem oko pozicioniranja te funkcije, i njenog ponašanja, pošto je ona
u fajlu koji se inkluduje iz for petlje?

Zapeo sam da imam sve fajlove odvojene i neću da ih spajam ako baš ne moram.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
77.46.180.*

Sajt: https://avramovic.info


+46 Profil

icon Re: problem razdvajanja koda u različite fajlove30.08.2007. u 13:35 - pre 201 meseci
Ja bih ti preporučio da ipak ostaviš kod, jer mi ovako pola stvari nije jasno, a mrzi me da sklapam u glavi na šta liči tvoj kod Lepo postavi isti pa da vidimo šta je u pitanju.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.co.yu.

Sajt: norway.dakipro.com


+190 Profil

icon Re: problem razdvajanja koda u različite fajlove30.08.2007. u 13:36 - pre 201 meseci
Pa tesko je ovako na nevidjeno, ali sigurno ti se negde neke promenjive obrisu u petlji, ili ti petlja loshe radi... uzmi i redom debuguj kod, kreni liniju po liniju, stvaljaj echo "Sad je pred petlju", echo "Sad je u petlji" i videces sta se gde desava.. ovo ti je najlakse. Mislim da je bolje da si ceo kod za smanjivanje slike stavio u jednu funkciju, i nju pozoves samo gde ti treba... tesko ide tako kombinovanje 2 fajla ako nisu projektovani sa funkcijama ili da rade jedan sa drugim...
 
Odgovor na temu

Pavleg

Član broj: 112866
Poruke: 78
*.bc.pttrs.net.



Profil

icon Re: problem razdvajanja koda u različite fajlove30.08.2007. u 16:17 - pre 201 meseci
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 ************************/

 
Odgovor na temu

[es] :: PHP :: problem razdvajanja koda u različite fajlove

[ Pregleda: 1949 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.