Segédletek.hu

Segédletek weblap szerkesztéshez!
ingyen letöltés

| Mind | PHP | HTML | CSS | Java |
|Legújabbak |Legtöbbször olvasottak|

Kép feltöltése szerverre phpvel:

Ebben a segédletben bemutatom, hogy hogy kell egy képet a szerverre feltölteni.

Mindössze egy fájlra lesz szükségünk, és egy mappára 777 jogokkal.(TotalCommander => fájl => attribútumok módosítása => 777)
Ezzel a kis scripttel csak képet tudunk a szerverre feltölteni, de könnyen módoítható akármilyen fájlformátumra is.
Akkor kezdjünk bele.
Nálam a fájl neve feltolt.php , és a könyvtár neve kepek. Fontos, hogy 777 joga legyen, és egy könyvtárban legyenek.

működő demó

feltolt.php
<html>
  <head>
    <title>Kép feltöltés</title>
  </head>
  <body>
    <form method="post" action="" 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>     

Ebben nincs semi érdekesség, kiírattunk egy formot, amely alkalmas a fájl kiválasztására. a enctype="multipart/form-data" résszel jelezzük, hogy fájlt fogunk feltölteni.
Most jöjjön az érdekesebb rész, a feldolgozása. Minden feltöltött fájl a $_FILES szuperglobális tömbben kap helyet. jelen esetben a képünk a $_FILES['kep'] változóban van benne. ez is egy tömb. értékei:

$_FILES['kep']['name'] - A kép eredeti neve
$_FILES['kep']['type'] - A kép mime típusa (formátuma) pl: "image/gif"
$_FILES['kep']['size'] - A kép mérete bájtokban megadva
$_FILES['kep']['tmp_name'] - Egy ideiglenes állomány, a szerver ide tölti fel.
$_FILES['kep']['error'] - A feltöltés során keletkezett esetleges hiba kódja

Most, hogy ezt mindet tudjuk, dolgozzuk fel a képet.

<?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";
}
}

Ez egy függvény, amelyik ellenőrzi a kép méretét, formátumát. a $max változóban van a kép maximum mérete, a $formats tömbben az engedélyezett típusok. Jelen esetben a képek csak.
Menjünk tovább

$dir = "./kepek/";
  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>

a $dir változóban van a feltöltési útvonal.
Ha elküldték a formot, ellenőrizzük a képet, ha átmegy a teszten, áthelyezzük a kepek mappába. Ez: md5(date("h-m-s")) ne tévesszen meg senkit, azért van, hogy a képek neve egyedi legyen. akár máshogy is megoldhatjuk, bármi más nevet is adhatunk feltöltött képeinknek.
Ezzel a segédlet végére is értünk. A következő egy képgaléria lesz, ennek alapján.

A segédletben felhasznált php függvények:

foreach()
isset()
move_uploaded_file()

Írta: requiem - 2006-07-06 22:35:42

* Nem vagy bejelentkezve!
* Nem töltheted le a segédlet forrását egyben!
* Nem szavazhatsz a segédletre!
* Nem írhatsz a segédlethez tartozó fórum témába!


dexter 2010-01-17 17:50:51
megoldodott közben megtudtam csinálni de azért köszi:)
dexter 2010-01-17 17:29:28
Hello!nem akar m?ködni:S mondjuk egy nagyon kezd? vagyok lenne néhány kérdésem: 1.chmod(0777,$fajl_neve); ezt pontossan meik sor után adom meg?
2.(TotalCommander => fájl => attribútumok módosítása => 777 <-ilyenem nincs:S
3.az elérési utat h adom meg pontossan?xamppot használok... és az alatta levö "virtuális serverre" megoldhato e ez? és ha igen akkor az elérési utat mennyire pontossan kell lebontani?válaszod elöre is köszi
debetu 2009-01-23 23:38:39
köszi szépen, kicsit finomítottam rajta, és így már tökéletes.
4444 2007-10-13 16:45:18
egy kis tökölődéssel sikerült meg csinálni :D köszönöm!!!
4444 2007-10-13 15:31:36
nekem még azt se írja ki hogy a feltöltés sikeres csak frissül a lap és nem történik semmi
4444 2007-10-13 15:30:36
nekem se működik :(:(:(
requiem 2007-08-22 21:40:43
chmod(0777,$fajl_neve);
Ezt tedd bele feltöltés után egyből.
csimpee 2007-08-12 01:57:55
nekem valamiért nem megy kiírja hogy a feltöltés sikeres de nem látom a képet se a megeadott könyvtárban sem az általam írt képtárban valaki help pls
Ökovilág webáruház
Vásároljon <b>kedvező árú</b> környezetbarát termékeket, olcsó és gyors szállítással!
www.okovilag.hu

Ingyenes foglalkozás
Ingyenes készségfejlesztő foglalkozás óvodás kortól az FMH-ban!
www.kistudosclub.hu

Növelje életerejét!
Hozza magát csúcsformába ingyenes egészségfüzetünk segítségével!
Pharmaton.Vital.csucsformaban.hu

Miért fizetne többet?
Akciós élelmiszer, műszaki cikk, gyümölcs, bútor. Nézzen be, megéri!
www.tesco.hu

Toyota készletakció
Auris Optimis modellek 1 000 000 Ft árelőnnyel! Részletek
www.toyota.hu

Hirdessen itt