ugrás a tartalomhoz

Csak képfájlok feltöltése...

pws22 · 2007. Ápr. 14. (Szo), 18.23
Szasztok !

Egy kérdésem lenne . Azt ,hogyan lehet megcsinálni ,hogy csak képeket lehessen feltölteni ..

<input type="file" name="file"> ( Ezzel az a gond , hogy mindent enged így és minden mehet a szerverre , és az rossz :( )

Előrre is , thx :)
 
1

Mime type

Ajnasz · 2007. Ápr. 14. (Szo), 20.27
Szerver oldalon leellenőrzöd a feltöltött file mime type-ját, plusz esetleg kliens oldalon megnézheted a fájl kiterjesztését.
2

getimagesize

vbence · 2007. Ápr. 14. (Szo), 20.42
A getimagesize - http://hu.php.net/getimagesize - visszaadja a kép tipusát is. Ez biztosnágosabb, mint a kiterjesztés, és korlátozni tudod a tipusokat is például ha valaki akkora böszmeséget követ el, hogy BMP-t tölt fel.. ;)
3

Nem erre gondoltam ;)

pws22 · 2007. Ápr. 16. (H), 14.43
Nem erre gondoltam !

Amikor a Tallózó ablak megjelenik , akkor csak képfájlokat lehessen kiválasztani ;)
4

Sztem ez megoldhatatlan

Max Logan · 2007. Ápr. 16. (H), 15.12
Sztem nem tudod ezt így szabályoni, mert egy *.*-gal minden file látható lesz ...
5

Másoldala...

pws22 · 2007. Ápr. 16. (H), 15.20
Másoldalakon is láttam eléflét , hogy csak TXT tölthető fel , vagyis csak azt engedi betallózni :)
6

hol?

tiku I tikaszvince · 2007. Ápr. 16. (H), 15.46
Hol láttad?
Ahol láttad, miért nem nézted meg az oldal forrását? Biztos ott van a megoldás. Ha nem boldogulsz, add meg a címet, mert akkor lehet, könnyebben tudunk segíteni. Ha szerencséd van, még az is lehet, hogy az adott oldal készítőjébe is belefutsz itt a WL-on...

tikuVoltam
7

Egy...

pws22 · 2007. Ápr. 16. (H), 15.52
Sajna törölték a weblapról :(
10

accept attribútum

gex · 2007. Ápr. 16. (H), 16.08
az input mezőnek van egy accept attribútuma, amiben be lehet állítani milyen típusokat (képek mime típusai, 'image/'-t ne felejtsd ki előle, pl: image/jpeg) fogadjon el.
elvileg. úgyhogy ha kipróbálod, akkor oszd meg velünk is, milyen böngészőkben mit lehet ezzel elérni.

viszont ne erre alapozd a feltöltést, mert elég könnyen kijátszható.
11

....

pws22 · 2007. Ápr. 16. (H), 16.27
Csak IE alatt megy , firefox-on semmit nem csinál :(
8

http://www.teecee.hu/scripts/file_test.html

pws22 · 2007. Ápr. 16. (H), 15.54
http://www.teecee.hu/scripts/file_test.html
9

Mid....

pws22 · 2007. Ápr. 16. (H), 16.02
Mindent kössz ...

Már megtaláltam a helyes megoldást :

index.php tartalma :
  1. <html>  
  2.   <head>  
  3.     <title>Kép feltöltés</title>  
  4.   </head>  
  5.   <body>  
  6.     <form method="post" action="upload.php" enctype="multipart/form-data">  
  7.       <table>  
  8.         <tr>  
  9.              <td>Feltöltés</td>  
  10.                 <td><input type="file" name="kep" /></td>  
  11.            </tr>  
  12.            <tr>  
  13.              <td colspan="2"><input type="submit" value="feltöltés" name="feltolt" /></td>  
  14.            </tr>  
  15.          </table>  
  16.     </form>       
  17. <?php  
  18. function check($kep)  
  19. {  
  20. $max = 256000;  
  21. $formats = array("image/jpeg","image/jpg","image/gif");  
  22. foreach ($formats as $format)  
  23. {  
  24.   if ($format == $kep['type'])  
  25.   {  
  26.     $helyes = true;  
  27.         break;  
  28.   }  
  29. }  
  30.   
  31. if($kep['size'] > $max)//250KB)  
  32. {  
  33.   return "Túl nagy a kép. A maximális méret: ".$max/1024 ."KB";  
  34.   break;  
  35. }  
  36.   
  37. elseif($helyes !== true)  
  38. {  
  39.   return "Hibás formátum";  
  40.   break;  
  41. }  
  42. else  
  43. {  
  44.   return "rendben";  
  45. }  
  46. }  
  47. $dir = "./kepek/"; // Ebbe a mappába mennek fel a képek ...  
  48.   if (isset($_POST['feltolt']))  
  49.   {  
  50.     if(check($_FILES['kep']) == "rendben")  
  51.         {  
  52.           if(move_uploaded_file($_FILES['kep']['tmp_name'],  
  53.     $dir.md5(date("h-m-s")).$_FILES['kep']['name']))  
  54.           {  
  55.             print "sikeres feltöltés";  
  56.           }  
  57.         }  
  58.         else  
  59.         {  
  60.           print "Hiba: ".check($_FILES['kep']);  
  61.         }  
  62.   }  
  63. ?>  
  64.   </body>  
  65. </html>