- Introducere PHP
- Instalare si Configurare
- Despre sintaxa PHP
- Varibile PHP
- Constante
- Operatori
- Procesul Decizional
- Instructiuni Repetitive
- Array-uri (Vectori)
- Concepte Web
- Incluziunea fisierelor
- Lucrul cu fisiere
- Functii
- Cookie
- Session
- Trimiterea de mailuri
- File Uploading
- Standarde de Programare
- Metodele GET si POST
- Validarea Formularelor
- Campuri obligatorii
- Variabile Predefinite
- Regular Expressions
- Erori si Exceptii
- Debugging
- Data si Timpul
- Mysqli â Conexiunea la baza de date
- Crearea unei baze de date
- Stergerea unei baze de date
- Inserare date
- Preluare date din MySql
- Stefanescu Mihai a postat in Paginare in PHP
- johhny a postat in Paginare in PHP
- Stefanescu Mihai a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- madalin a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- Stefanescu Mihai a postat in Featureuri site
File Uploading
Un script PHP poate fi folosit in asa fel incat sa permita utilizatorilor upload-ul de fisiere. Initial fisierele sunt uploadate intr-un director temporar si apoi sunt mutate in directorul dorit.
Atentie: Upload-ul de fisiere este periculos! Va recomand sa nu permiteti upload-ul de fisiere php, html, js, etc
Configurare php.ini
In primul rand trebuie sa va asigurati ca upload-ul de fisiere este permis pe serverul vostru. Pentru a face acest lucru verificati optiunea file_uploads din php.ini sa fie setata pe On.
Formularul HTML
Acum trebuie sa facem un formular HTML ce ne va permite sa selectam o imagine pentru upload.
<!DOCTYPE html> <html> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> Selectare Imagine: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="Upload" name="submit"> </form> </body> </html>
Ce trebuie sa stii despre formularul de mai sus:
- asigurati-va ca metoda este POST
- Pentru upload de fisiere tag-ul <form> trebuie sa aiba atributul enctype=”multipart/form-data”.
Se poate observa rapid ca formularul de mai sus va procesa upload-ul in fisierul upload.php.Scriptul de UploadFisierul upload.php va contine urmatorul cod:
<?php $target_dir = "upload_imagini/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); if(isset($_POST["submit"])) { $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); if($check !== false) { echo "Fisierul este imagine - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "Fisierul nu este imagine."; $uploadOk = 0; } } ?>
Explicatii cod:
PHP script explained:
- $target_dir = “upload_imagini/” – folderul in care sunt salvate imaginile
- $target_file – este calea unde sunt salvate imaginile
- $uploadOk=1 folosim mai tarziu
- $imageFileType – extensia fisierului
Va trebuii sa creati directorul “upload_imagini”
Verificare existenta fisier
Acum, ca am facut baza ar trebuii sa adaugam niste restrictii.
In primul rand trebuie sa verificam daca fisierul deja exista.Daca exista afisam un mesaj de eroare si setam variabila $uploadOk cu valoarea 0.
if (file_exists($target_file)) { echo "Fisierul deja exista."; $uploadOk = 0; }
Limitare dimsniune fisierNumele input-ului file din formularul HTML este “fileToUpload”. Acum, dorim sa verificam dimensiunea acestui fisier. Daca este mai mare de 500kb afisam un mesaj de eroare si setam $uploadOk la 0.
if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Fisierul este prea mare."; $uploadOk = 0; }
Verificare tip fisierCodul de mai jos permite upload-ul doar formatelor JPG, JPEG, PNG, si GIF.
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Format interzis."; $uploadOk = 0; }
Scriptul completFisierul upload.phpva avea forma finala:
<?php $target_dir = "upload_imagini/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); if(isset($_POST["submit"])) { $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); if($check !== false) { echo "Fisierul este o imagine - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "Fisierul nu este o imagine."; $uploadOk = 0; } } // Verificam daca deha exista if (file_exists($target_file)) { echo "Fisierul deja exista."; $uploadOk = 0; } // Verificam dimensiunea if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Fisierul este prea mare."; $uploadOk = 0; } // Verificam formatul if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Format interzis."; $uploadOk = 0; } // verificam daca $uploadOk este 0 if ($uploadOk == 0) { echo "Fisierul nu a putut fi uploadat."; } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "Fisierul ". basename( $_FILES["fileToUpload"]["name"]). " a fost uploadat."; } else { echo "Fisierul nu a putut fi mutat."; } } ?>
Comentarii
Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!