ugrás a tartalomhoz

Csak gif és jpg fájlok feltöltésének engedélyezése

Anonymous · 2006. Május. 19. (P), 15.06
  1. <?php  
  2.   
  3. if (($_FILES["file"]["type"] == "image/gif"or ($_FILES["file"]["type"] == "image/jpeg") && ($_FILES["file"]["size"] < 1000000)) {  
  4.     if($_POST['x'] == "1") {  
  5.         move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);  
  6.         echo"A {$_FILES["file"]["name"]} felülírása kész!";  
  7.     } else {  
  8.         if (file_exists("uploads/" . $_FILES["file"]["name"])) {  
  9.             echo"A {$_FILES["file"]["name"]} már a szerveren van!";  
  10.         } else {  
  11.             move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);  
  12.             echo"A {$_FILES["file"]["name"]} másolása kész!";  
  13.         }  
  14.     }  
  15.           
  16. else {  
  17.     echo"Hiba! Nem támogatott formátum, vagy a fájl túl nagy. Mérete max 1024Kbyte lehet!";  
  18. }  
  19.   
  20. ?>  
A fenti kóddal az a problémám hogy nem tölti fel a fájlokat, valószínű a legelső feltétellel van a baj, hogy lehetne lellenőrizni hogy tipusa gif, vagy jpeg?
 
1

Egyszerű debug...

janoszen · 2006. Május. 19. (P), 17.24
Egyszerű módja van a debugolásnak: kiírod a feltöltött fájl mime típusát. Egyébként még attól, hogy GIFként van küldve, nem biztos, hogy az GIF is. Szal érdemes lehet GD2vel vagy ImageMagick-el utánaellenőrizni, hogy valóban az-e.
2

imagesize()

moikboy · 2006. Május. 19. (P), 20.14
Én ezt a kódot használom képek ellenőrzésére:
  1. <?php  
  2. if(@imagesize($file)) ...  
  3. ?>  
3

imagesize()

Anonymous · 2006. Május. 20. (Szo), 10.40
Segítenél?
Ez az imagesize() parancs milyen verziójú php-ban ven benne?
Én eddig csak a getimagesize() parancsot ismertem, de az sem true/false-ot ad vissza, hanem egy tömböt, ami tartalmazza a kép méreteit, stb-t.

Gyulus