PHP Coder Romania
Cont utilizator Cont utilizator
Email Parola
Cont utilizator Cont utilizator
roen

Upload fisiere


Prima data trebuie sa citesti putin legat de configurare. Iti arat prima data un exemplu si apoi comentarii.

php
$mesaj='';
if(!empty($_FILES['fisier']) && $_FILES['fisier']["tmp_name"]!="" && $_FILES['fisier']["name"]!="none" && $_FILES['fisier']["error"]==0)
{
$ex=explode(".",$_FILES["fisier"]["name"]);
$ext=$ex[count($ex)-1]; // am gasit extensia fisierului
if(@copy($_FILES['fisier']["tmp_name"],'testers/primul_fisier_'.$_SERVER["REMOTE_ADDR"].'.'.$ext))
{
$mesaj=1; //s-a transferat
}
else
{
$mesaj=0; //eroare
}

}


Aici o sa explic pe scurt ce si cum.
In primul rand, daca vrei sa trimiti din formular date mai speciale ca de exemplu imagini sau fisiere trebuie sa adaugi cand definesti elementul form urmatoarea chestie: enctype="multipart/form-data". Metoda trebuie sa fie POST. Apoi, ai observat ca fisierul se trimite din input-ul file (cand elementul este file browserul iti pune automat langa el un buton special "Browse" la care nu prea ai cum sa schimbi nimic... dat care te ajuta sa selectezi un fisier de la tine de pe computer).

Cand se trimite formularul, datele din inputurile de tip file se vor trimite in variabila $_FILEScate este un array cu mai multe dimensiuni si care iti spun mai multe despre fisierul trimis si anume:
  1. name - numele fisierului pe care l-ai trimis
  2. type - tipul fisierului
  3. tmp_name - numele temporar al fisierului (cand il trimiti el este pus default in folderul tmp seatat din configurari)
  4. error - iti zice daca sunt erori
  5. size - dimensiunea fisierului

In cazul nostru array-ul $_FILES este de forma: $_FILES["fisier"]["name"], $_FILES["fisier"]["tmp_name"]... adica informatiile relativ la fisierul trimis din "fisier".

Ce se intampla in codul de mai sus? In if avem o conditie in care verificam daca :
- s-a trimis vreun fisier
- numele temporar al acestuia pe server este nenul
- numele fisierului este nenul
- fisierul nu are erori.

Daca conditia este indeplinita atunci:
- identificam extensia fisierului pentru a o adauga in numele nou cu care vrem sa salvam fisierul pe server
- daca nu este nici o eroare la copierea acestuia din calea temporara acolo unde vrem noi sa il punem (adica in cazul nostru il punem in folderul testers cu numele "primul_fisier_$_SERVER["REMOTE_ADDR"].extensie") atunci variabila $mesaj ia valoarea 1.

Daca conditia nu este indeplinita variabila $mesaj ia valoarea 0.
Mai jos, acolo unde facem afisarea formularului prin care se trimite fisierul avem 3 situatii posibile:

1. valoarea lui $mesaj este '' adica valoarea initiala - atunci afisam formularul
2. valoarea lui $mesaj este 1 adica s-a trecut prin conditia de upload cu succes si deci afisam mesajul ca fisierul a fost transferat
3. valoarea lui $mesaj este 0 adica s-a trecut prin if dar copierea fisierului a facut buba si deci afisam mesajul de eroare.

Variabila $_SERVER["REMOTE_ADDR"] este o variabila care iti returneaza default ip-ul tau, adica ip-ul celui care acceseaza scriptul php.


Afișare 6 din 22 |
< 1 2 3
Pagina 3 din 3

Autentificare HTTP


Intr-un script php poti folosi functia header() pentru a trimite un mesaj de autentificare in browser. Acesta are ca rezultat un pop-up in care se pot introduce un user si o parola. Continutul pagina ...

Sesiuni si Cookies


Sesiuni Sesiunile se folosesc atunci cand vrei sa pastrezi anumite date de pe o pagina pe alta, rezultatul unor scripturi. Daca vrei sa folosesti sesiuni trebuie sa folosesti session_start() pe pe toate ...

Imagini


Pentru a putea afisa, crea, modifica imagini direct din php trebui sa ai compilata libraria grafica (GD - citeste la configurare). Tipurile de imagini pe care le stie php-ul sunt : gif, png, jpg, jpeg, ...

Mail


Ca sa trimiti email folosesti functi a mail. Sintaxa acesteia este: mail ( $to , $subject , $message [, $headers [, $parameters ]] ). Paramtrii $headers si $ parameter sunt optionali. $to = string de ...

Xhtml si css


Eu iti recomand sa folosesti xhtm... adica un html mai jmecheros si care este mai pretentios ca reguli dar se merita. Cu ce difera xhtml de html chior? Reguli mari si late pentru XHTML toate elementele ...

Url rewrite


Mod rewrite se foloseste in cazul in care vrei ca fisierele tale php sa nu fie accesate de genul http://www.site.ro/noutatile_mele.php ci vrei ca aseasta pagina sa fie accesata in modul http://site.ro/pagina_mea_cu_noutati.html ...
< 1 2 3
Pagina 3 din 3

Triumf ®PHP Coder - web development