Fájlok feltöltése php

Hogyan kell tárolni a php

fájlok letöltése elvek

A letöltött fájl kerül egy speciális könyvtár az ideiglenes tárolásra, és a kapcsolódó információk hozzáadjuk a szuperglobális $ _FILES. Ha nem mozog a fájlt egy másik helyre befejezése után a script törli azt nyom nélkül. átmeneti tárolás könyvtár beállítást meghatározni upload_tmp_dir php.ini konfigurációs fájlban.

Szuperglobális $ _FILES tömb

Ha együtt használjuk az aktuális kérés a fájlok már letöltött, PHP-értelmező automatikusan kitölti a szuperglobális $ _FILES tömb vonatkozó információkat. Szerkezete nagyon egyszerű. eleme a tömbnek a nevét a HTTP-kérés paramétereit. Például a webes űrlap fájl feltöltése mező attribútum «name =»feltöltés-file«». Ebben az esetben az információ bekerül a $ _FILES [ 'upload-file'].

A tartalom a tömb $ _FILES:

  • $ _FILES [ 'field-lekérdezés'] [ 'name'] - az igazi neve a fájl, amit meg kellett küldeni.
  • $ _FILES [ 'field-lekérdezés'] [ 'size'] - a méret a feltöltött fájl bájtban.
  • $ _FILES [ 'field-lekérdezés'] [ 'type'] - a MIME fájl típusát.
  • $ _FILES [ „field-lekérdezés”] [ „tmp_name”] - tartalmazza a fájl nevét, kinevező tolmács helyezve egy ideiglenes könyvtárba;
  • $ _FILES [ 'field-lekérdezés'] [ 'error'] - a hibakódot történt betöltés közben. Ha minden jól megy, az elem lesz az érték „0”.

Web űrlapmezőre lehet több attribútumot. lehetővé teszi a többszörös válogatott fájlokat. Ebben az esetben, az elemek nevét. méretét. írja. tmp_name és hiba lesz tömbök. Például két fájl letöltött formában mező nevét teszt-fájlt. Szerezd meg a nevét, az első fájl lehet a $ _FILES [ 'test-file'] [ 'name'] [0]. Egy második $ _FILES [ 'test-file'] [ 'name'] [1].

jegyzet
Van egy követelmény HTML-jelölés mezők, ha több kiválasztási és fájlok letöltése. Nevük attribútumot kell elkészíteni az alábbiak szerint «name =»- attribútum neve []«.” Ha kihagyja a struktúra []. PHP fogja feldolgozni egyetlen fájlban.

Mozgás a letöltött fájl

Mozgatni a letöltött fájlokat egy speciális move_uploaded_file () függvényt. Ez úgy két required-paramétert. Az első nevét jelöli meg a fájlt az ideiglenes könyvtárba, és a második - a cél elérési út. A függvény visszatérési értéke true, ha sikeres és hamis. ha hiba történik.

A is_uploaded_file () függvény, akkor ellenőrizze, hogy a letöltött fájl az aktuális kérést. Ez mindössze egy paraméter - a fájl nevét, és visszatér egy logikai eredményt.

fontos
PHP lehetővé teszi, hogy változtatni a helyét a letöltött fájlokat a szokásos funkcióit másolása vagy mozgatása. Azonban ez elég veszélyes. Számos uhischronnyh támadások alapuló ilyen rövidlátó megközelítését.

Mozgáshoz és meglétének a letöltött fájlok mindig move_uploaded_file () és is_uploaded_file (). A folyamat során a végrehajtás általuk végzett speciális érvényesítési és automatikusan kiszűri számos közös támadásokat.

Példa fájl letöltése a szerver

Az alábbiakban egy példát a PHP-script. Ha érvényesíthető először az aktuális kérés nem fájl feltöltés, a felhasználó fogja képezni. Ha a letöltés, a fájl átkerül a gyökér könyvtárat a helyén, ahogy a felhasználói adatok társítva. Csak a feldolgozott képeket jpg formátumban. JPEG és PNG.

Részarány sotscetyah: