[ trojka @ 19.01.2010. 14:02 ] @
Pozdrav drugari, imam jedan čudan problem. Napisao sam kod za upload fotografije, u firefoxu radi sve kako treba dok u exploreru uvek prijavi gresku da sam uneo fajl pogrešne ekstenzije. Molim vas za pomoć.

Code:

 <?php
 if (!$_POST["Submit6"])
 {
?>
<table width="576" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
 <tr>
 <form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
 <td width="574">
 <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
 <tr>
 <td><span class="style1"><strong>Obrazac za unos vaše fotografije: </strong></span></td>
 </tr>
  <tr>
  <td><span class="style1"><strong>Izaberite fotografiju</strong></span>
  <input name="ufile" type="file" id="ufile" size="50" /></td>
  </tr>
   <tr>
 <td align="center"><input type="submit" name="Submit6" value="Unesi" />
  <?php }else{
                  $file_name = $_FILES['ufile']['name'];
          $random_digit=rand(0000,9999);
                  $new_file_name=$random_digit.$file_name;
        //definisem mesto u fajl sistemu gde smestam fotografiju
         $path= "../images/photos/".$new_file_name;
        //ispitujem koje je ekstenzije uneti fajl    
                 if (!($_FILES['ufile']['type'] =="image/jpeg" OR $_FILES['ufile']['type']=="image/gif" OR $_FILES['ufile']['type']=="image/png")){$greska=1;}
    if($ufile !=none)
                            {
                      if($greska==1){echo "Uneli ste fajl pogrešne ekstenzije!!!";}
                       else{
                                              if(copy($_FILES['ufile']['tmp_name'], $path))
                                                        {
                                        echo "Uspešno ste uneli fotografiju za vašu biografiju.<BR/>";
                                                }
                                                }
             } else{
               echo "Error";
                }
         //u polje baze upisujem putanju do fotografije kako bi je kasnije prikazao na stranici
      
         $sql="UPDATE tbl_korisnik SET tbl_korisnik.photos='$path' WHERE tbl_korisnik.id_korisnik='$name_rsKorisnik'";
    if (!mysql_query($sql)) 
        { 
        echo "Nastala je gre�ka pri izvodenju upita za unos putanje u bazu" . mysql_query(); 
        }
    }
          }
}
?>
</td>
 </tr>
</table>
</td>
</form>
 </tr>
 </table>


Kad ste već tu može i mala usputna pomoć kako da na osnovu putanje iz baze obrišem fajl iz fajl sistema. Drugim rečima kada korisnik unese drugu fotografiju za svoj profil da se stara obriše iz fajl sistema na osnovu putanje do nje iz baze.
Hvala unapred.
[ trojka @ 19.01.2010. 14:24 ] @
Još čudnije kada stavim naopak uslov da li je bilo greske ili nije:
Code:

if($greska!=1){echo "Uneli ste fajl pogrešne ekstenzije!!!";}

U exploreru ne prijavljuje gresku i onda radi sve kako treba, dok naravno sada u firefoxu ne radi jer je naopak uslov, ovde je bre sve naopako :).
[ dakipro @ 19.01.2010. 15:35 ] @
dampuj $_FILES['ufile']['type'] nakon uploada iz firefoxa i nakon uploada iz IE, i videces u cemu je problem
[ mitke013 @ 19.01.2010. 17:43 ] @
Off topic, ali umesto ovog:
Code:

$file_name = $_FILES['ufile']['name'];
$random_digit=rand(0000,9999);
$new_file_name=$random_digit.$file_name;

Bolje uradi ovako, sigurno nikad nece doci do prepisivanja fajla:
Code:

$pathToImages = '/images/' ;  // ili gde vec
while (file_exists($new_file_name = $pathToImages . rand(0,9999))) {}
// ektenziju samo dodaj na $new_file_name i imas celu putanju npr '/images/213.jpg'
// ovo je samo primer, doteraj sam kako zelis imena
[ trojka @ 20.01.2010. 13:03 ] @
Citat:
dakipro: dampuj $_FILES['ufile']['type'] nakon uploada iz firefoxa i nakon uploada iz IE, i videces u cemu je problem


Hvala Daki, rešena stvar, explorer je fajlove učitavao kao image/x-png dok ih je firefox učitavao kao image/png, samo sam proširio uslov i sad sve radi kako treba.

Ali samo još mala pomoć oko brisanja bi bila dobrodošla.
[ vatri @ 20.01.2010. 14:39 ] @
http://us3.php.net/manual/en/function.unlink.php
[ mitke013 @ 20.01.2010. 15:32 ] @
Citat:

Ali samo još mala pomoć oko brisanja bi bila dobrodošla.


Upload-ovani fajlovi iz tog tmp direktorijuma se automatski brisu nakon izvrsavanja php skripte. Znaci, ako ih nisi iskopirao, hasta-la-vista.
[ trojka @ 21.01.2010. 12:57 ] @
Citat:
mitke013: Upload-ovani fajlovi iz tog tmp direktorijuma se automatski brisu nakon izvrsavanja php skripte. Znaci, ako ih nisi iskopirao, hasta-la-vista.


Ali oni su već iskopirani u fajl sistem na serveru, nisu više u tom tmp direktorijumu. Ne znam da li se razumemo, radi se o tome da korisnik nakon izvesnog vremena želi da promeni svoju sliku iz profila, avatar itd. Odradio sam upload sve lepo radi, ali pri toj zameni u fajl sistemu servera ostanu stare slike, želim da odstranim te stare slike iz sistema na osnovu putanje iz baze, da se one ne bi gomilale. Treba mi pomoć oko toga.
Hvala.
[ vatri @ 21.01.2010. 13:18 ] @
Jesi pogledao ovaj link:

http://us3.php.net/manual/en/function.unlink.php

Funkcija sluzi za brisanje fajlova!

unlink('/putanja/do/tvoje/slike');
[ trojka @ 21.01.2010. 13:41 ] @
Citat:
vatri: Jesi pogledao ovaj link:

http://us3.php.net/manual/en/function.unlink.php

Funkcija sluzi za brisanje fajlova!

unlink('/putanja/do/tvoje/slike');


Tvoju poruku sam video tek kada sam odgovorio na temu. extra uspeo sam pomoću nje da odradim ono što mi treba.
Hvala Vatri.