Pogledajte određenu poruku
Staro 04. 09. 2010.   #28
trazimcuruzabrak
profesionalac
Professional
 
Datum učlanjenja: 15.06.2007
Poruke: 209
Hvala: 0
50 "Hvala" u 9 poruka
trazimcuruzabrak is on a distinguished road
Default

Napravio sam skriptu koja ubacuje sliku i optimizuje je, medjutim osecam da ipak radi suvisne poslove. Zapravo sam pojedine delove koda samo iskopirao bez da shvatam koja funkcija sta radi. Trudio sam se da shvatim pojedine funkcije ali ne uspevam. Neznam engleski a na nasem jeziku ne moze da se nadju objasnjenja. Da li bi neko mogo da vidi kod i da eventualno da predlog za njegovu optimizaciju u smislu da skripta ne radi duplo poslove ili poslove u medju koracima koji nisu potrebni? U primcipu mislim da od dela "odavde" koji sam ubelezio u kodu narocito bi trebalo da se optimizuje. Naravno ovo je samo deo citavog projekta jer postoje jos php fajlovi za prikaz, forma za unos slika itd a ovaj php fajl sluzi samo za obradu unete slike.

PHP kôd:
<?
if ($_POST["SBgumb"]="Posalji"){

  
$slucaj=$_GET["u"];

  if (
$slucaj<or $slucaj>99) {$poruk="Nerazumljiv zahtev. Ne zaboravite da samo 99 slika je moguce uneti!";header ("location: korisnik.php?k=$poruk"); exit;}
  if (
preg_match("/\D/"$slucaj)) {$poruk="Nerazumljiv zahtev. Ne zaboravite da samo 99 slika je moguce uneti!";header ("location: korisnik.php?k=$poruk"); exit;}

  include 
'veza.php';

  if (
$_FILES ['slika']['error'] > 0){
     switch (
$_FILES ['slika']['error']){
        case 
1$poruk='Slika je prevelika pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
2$poruk='Slika je prevelika pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
3$poruk='Slika nije potpuno ucitana, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
4$poruk='Slika nije ucitana, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
6$poruk='Serverska greska, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
7$poruk='Slika nije ucitana, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
        case 
8$poruk='Slika nije ucitana, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); break;
      }
      exit;
  }
  if (
$_FILES ['slika']['size'] > 1048576) { $poruk='Slika je prevelika pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); exit;}
  if (
$_FILES ['slika']['type']=='image/jpeg'){ $a="ok"$b="jpg";}
  if (
$_FILES ['slika']['type']=='image/png'){ $a="ok"$b="png";}
  if (
$a!="ok"){ $poruk='Problem: slika nije u okviru ponudjenih formata jpg i png, pokusajte ponovo';header ("location: korisnik.php?k=$poruk"); exit;}


// ******  ODAVDE  ******


  
$upfile "slike/".$_FILES['slika']['name'];

  if ( 
is_uploaded_file ($_FILES ['slika']['tmp_name'])){
     if ( !
move_uploaded_file ($_FILES ['slika']['tmp_name'], $upfile)){
        
$poruk='Problem: Nije premestena slika na sajt'header ("location: korisnik.php?k=$poruk"); exit;
     }
  }else{
     
$poruk='Problem: Nismo ucitali sliku pod zadatim nazivom'header ("location: korisnik.php?k=$poruk"); exit;
  }

  
$opis=$_POST['opis'];
  
$opis=nl2br($opis);
  
$opis=strip_tags($opis);
  
$opis=addslashes($opis);

  if(
$slucaj==0){
      
$sql "INSERT INTO slike (naziv, opis) VALUES ('$upfile', '$opis')";
      if (!
mysql_query ($sql)) { $poruk="Nastala je greška pri unosu naziva slike u bazu podataka"header ("location: korisnik.php?k=$poruk");exit;}
      
header ("location: korisnik.php");
  }else{
      
$q mysql_query("SELECT naziv FROM slike WHERE slikaID='".$slucaj."'");
      while(
$row mysql_fetch_array($q)){
         
$naaziv=$row['naziv'];
      }
      
unlink($naaziv);

      @
mysql_query("UPDATE slike SET naziv ='".$upfile."', opis='".$opis."' WHERE slikaID =$slucaj");
      
header ("location: korisnik.php");
  }

}else{
  
$poruk="Nerazumljiv zahtev. Ne zaboravite da samo 99 slika je moguce uneti!"header ("location: korisnik.php?k=$poruk"); exit;
}

    
$src_img=@imagecreatefromjpeg($upfile);
    
$w=imageSX($src_img);
    
$h=imageSY($src_img);

    
$dst_img=ImageCreateTrueColor($w,$h);
    
imagecopy($dst_img,$src_img,0,0,0,0,$w,$h); 
    
    
imagejpeg($dst_img$upfile30);

    
imagedestroy($dst_img); 
    
imagedestroy($src_img);
?>
__________________
Igrice

Poslednja izmena od nixa : 04. 09. 2010. u 00:12.
trazimcuruzabrak je offline   Odgovorite uz citat