Incarcare fisiere in folder cu PHP

Hai să începem rapid cum să rezolvăm încărcarea fișierelor cu PHP, in modul pur. Avem nevoie de:

1. HTML Form

Trebuie să creați un formular HTML care să conțină câmpurile cu care utilizatorul va interacționa pentru a încărca un fișier. Creați un fișier index.html în directorul dvs. rădăcină și adăugați următorul cod:

!DOCTYPE html>
<html lang="ro">
<head>
    <meta charset="UTF-8">
    <title>Incarca fisiere cu PHP</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        Upload a File:
        <input type="file" name="myfile" id="fileToUpload">
        <input type="submit" name="submit" value="Incarca fisierul" >
    </form>
</body>
</html>

În codul de mai sus, avem un formular cu un câmp de introducere și un buton de trimitere. Eticheta formularului are un atribut de acțiune care indică scriptul care va avea grijă de procesul de încărcare efectivă. De asemenea, are un atribut de metodă care specifică tipul de operațiune pe care această formă o va întreprinde, care este o acțiune POST.

2. Script de încărcare PHP

Creaza un fisier cu numele upload.php si adauga acest cod in el.

<?php
    $currentDir = getcwd();
    $uploadDirectory = "/uploads/";

    $errors = []; 

    $fileExtensions = ['jpeg','jpg','png'];

    $fileName = $_FILES['myfile']['name'];
    $fileSize = $_FILES['myfile']['size'];
    $fileTmpName  = $_FILES['myfile']['tmp_name'];
    $fileType = $_FILES['myfile']['type'];
    $fileExtension = strtolower(end(explode('.',$fileName)));

    $uploadPath = $currentDir . $uploadDirectory . basename($fileName); 

    if (isset($_POST['submit'])) {

        if (! in_array($fileExtension,$fileExtensions)) {
            $errors[] = "Această extensie de fișier nu este permisă. Încărcați un fișier JPEG sau PNG";
        }

        if ($fileSize > 2000000) {
            $errors[] = "Acest fișier este mai mult de 2 MB. Ne pare rău, trebuie să fie mai mică sau egală cu 2MB";
        }

        if (empty($errors)) {
            $didUpload = move_uploaded_file($fileTmpName, $uploadPath);

            if ($didUpload) {
                echo "Fisierul " . basename($fileName) . " a fost incarcat";
            } else {
                echo "A apărut o eroare undeva. Încercați din nou sau contactați administratorul";
            }
        } else {
            foreach ($errors as $error) {
                echo $error . "These are the errors" . "\n";
            }
        }
    }


?>

Trebuie creat un folder cu numele uploads pentru ca fisierele sa fie incarcate acolo.

 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Salut și bine ai venit pe acest blog!

Eu sunt Bucur si acesta este blogul meu in care vei gasi articole in majoritatea lor despre Programare web Front-end si un pic de back-end.

Iată cum mă poți contacta:

Ai o intrebare? nu ezita sa ma contactezi.

Vei primi un raspuns in cel mai scurt timp posibil.

    Numele tau (necesar)

    Email (necesar)

    Subiect

    Mesaj

    Prin utilizarea acestui formular sunteți de acord cu stocarea și manipularea datelor dvs. pe acest site web.