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 :

<html>
  <head>
    <title>Kép feltöltés</title>
  </head>
  <body>
    <form method="post" action="upload.php" enctype="multipart/form-data">
      <table>
        <tr>
             <td>Feltöltés</td>
                <td><input type="file" name="kep" /></td>
           </tr>
           <tr>
             <td colspan="2"><input type="submit" value="feltöltés" name="feltolt" /></td>
           </tr>
         </table>
    </form>     
<?php
function check($kep)
{
$max = 256000;
$formats = array("image/jpeg","image/jpg","image/gif");
foreach ($formats as $format)
{
  if ($format == $kep['type'])
  {
    $helyes = true;
        break;
  }
}

if($kep['size'] > $max)//250KB)
{
  return "Túl nagy a kép. A maximális méret: ".$max/1024 ."KB";
  break;
}

elseif($helyes !== true)
{
  return "Hibás formátum";
  break;
}
else
{
  return "rendben";
}
}
$dir = "./kepek/"; // Ebbe a mappába mennek fel a képek ...
  if (isset($_POST['feltolt']))
  {
    if(check($_FILES['kep']) == "rendben")
        {
          if(move_uploaded_file($_FILES['kep']['tmp_name'],
    $dir.md5(date("h-m-s")).$_FILES['kep']['name']))
          {
            print "sikeres feltöltés";
          }
        }
        else
        {
          print "Hiba: ".check($_FILES['kep']);
        }
  }
?>
  </body>
</html>