Bosna i Hercegovina



zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,388


Subject: Upload fajlova
Starije verzije PHP-a nemaju funkcije koje direktno rukuju upload-om fajlova, ali je uz pomoć drugih ugrađenih funkcija, ipak moguća ova operacija
U novijim verzijama PHP-a (počeviši od verzije4) postoje načini i funkcije za upravljanjem upload-om fajlova, korištenjem specijalnog ugrađenog (sistemskog) niza $HTTP_POST_FILES, ali u ovom tekstu ćemo se pozabaviti kako to isto uraditi u starijim verzijama PHP-a.
Pretpostavimo da smo za upload fajlova pripremili HTML :

DownloadIzvorni kod (HTML):
  1. <form method="post" enctype="multipart/form-data" action="script.php">
  2. <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1200">
  3. <input type="file" name="userfile">
  4. <input type="submit">
  5. </form>

Skriveno polje MAX_FILE_SIZE (obavezno se ubacuje pre taga <input type=file>) se koristi za određivanje maksimalne veličine fajla koji se uload-uje. Određivanje ovog parametra, browser neće odaslati fajl serveru ukoliko je veličina veća nego što je određena ovim parametrom. Kada je forma odaslata PHP kreira i popunjava specijalne varijable koje su u vezi sa transfer podacima. Nema potrebe za ručnim parsiranjem jednog takvog HTTP zahtjeva, PHP će sveo svemu pobrinuti, te će obezbijediti upload varijable. Zapazite da se nazivi varijabli sastoje od dijela, prvi dio je isti kao naziv ulaznog polja sa HTML formulara

PHP varijable

Pretposatvimo da imamo kod sličan ovome:

<input type="file" name="userfile">

u vašem PHP skriptu će automatski biti kreirane sledeće varijable:

$userfile - ovo je naziv privremenog fajla na serveru (kreira se nakon upload-a). Ovu varijablu možete koristiti za kopiranje fajla na bilo koju drugu loakciju.
$userfile_name - naziv fajla koju je korisnik locirao na klijentskoj maćini i odredio za upload.
$userfile_size - velićina upload-ovanog fajla u bajtovima.
$userfile_type - MIME tip upload-ovanog fajla. Na primer: "image/gif".
Takođe, tu je i ugrađena funkcija koja proverava varijablu privremenog naziva fajla. Funkcija is_uploaded_file($userfile), vraća True ukoliko $userfile sadrži naziv privremeno upload-ovanog fajla, a u suprotnom False.

Sintaksa funkcije koja služi za prebacivanje privremenog fajla, na serverskoj mačini (naravno, u skladu sa pripadajućim dozvolama) je sledeća:
move_uploaded_file($userfile, "/lokacija/fajl.exstenzija")
Na kraju, evo i PHP koda koji ćemo upotrebiti za smiještanje upload-ovanog fajla na određenu lokaciju:
DownloadIzvorni kod (PHP):
  1. <?
  2. if (is_uploaded_file($userfile)) {
  3. move_uploaded_file($userfile, "/lokacija/fajl.new");
  4. }
  5. ?>
Isto možemo da odradimo i sa funkcijom Open:

DownloadIzvorni kod (PHP):
  1. <?
  2. if (is_uploaded_file($userfile)) {
  3. copy($userfile, "/place/file.new");
  4. }
  5. ?>

Pozdrav
↑  ↓

 Podijeli  Dodaj odgovor Stranice (1): 1


All times are GMT +01:00. Current time: 23.07.2017-07:46.