JavaScript >> Javascript tutorial >  >> Tags >> PHP

Sådan opretter du en uploader til flere filer til din PHP-applikation

De fleste udviklere bruger PHP i dag til specifikt at oprette en filuploader til deres web- eller mobilapplikationer. PHP-filuploader er for eksempel en af ​​de mest effektive metoder til at uploade filer.

Udviklere bør vide, hvordan man laver en filuploader med PHP for at få en bedre filoverførselsfunktion.

Vi har denne viden, og som et resultat lander den dig milevidt foran dine kolleger. Så vi skal kende nogle grundlæggende ting, før vi lærer at oprette en PHP-filuploader.

Hvad er PHP

PHP, ellers kendt som Hypertext Preprocessor, er en open source-ramme. De fleste udviklere bruger PHP på grund af dets tilgængelige serverscriptsprog.

PHP er et programmeringssprog, som selv nybegyndere kan lære på grund af dets fremragende support og tilgængelige dokumentation. WordPress-brugere kan også bruge PHP til at tilpasse deres websted.

Hvad er anvendelsen af ​​PHP

På samme måde er PHP, som enhver anden ramme, afgørende for udviklere. For eksempel er PHP fleksibel og ligetil, så begyndere nemt kan bruge det. Andre anvendelser af PHP omfatter:

  • Den kan udføre systemfunktioner

  • Oprettelse, åbning, skrivning, læsning og åbning af filer

  • Det kan styre formularer

  • Indsamling og lagring af data fra filer

  • PHP kan hjælpe med at tilføje, fjerne og ændre elementer i din database

  • PHP giver dig mulighed for udtrykkeligt at begrænse brugere til at få adgang til nogle sider på dit websted

  • Endelig, på grund af sin sikkerhed, kan den kryptere de lagrede data

  • Da vi kender anvendelsen af ​​PHP, kan vi nu fortsætte med, hvordan man opretter en fil-uploader PHP.

Sådan laver du en filuploader med PHP

Udviklere kan bruge Filestack til at skabe en bedre filuploader ved hjælp af PHP. Til at starte med vil vi f.eks. overveje tre trin.

Oprettelse af en HTML-formular

For det første skal du oprette en HTML-formular, som brugerne kan se, om de vil uploade deres filer. På samme måde skal du oprette en mappe til projektet og en index.html med koderne, for eksempel:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>PHP File Upload</title>
</head>
<body>
 <form action="fileUploadScript.php" method="post" enctype="multipart/form-data">
     Upload a File:
     <input type="file" name="the_file" id="fileToUpload">
     <input type="submit" name="submit" value="Start Upload">
 </form>
</body>
</html>

Resultatet af koden vil faktisk skabe HTML-formularen. Før vi går til næste trin, skal vi bemærke et par ting om kodefunktionerne i særdeleshed, og de er:

action=“fileUploadScript.php”

Dette kodemærke anerkender PHP-scriptet, der er ansvarligt for at håndtere filupload på backend.

method=“post”

Denne funktion lader browseren vide, hvilken formular der skal bruges, mens filen sendes til serveren.

enctype=“multipart/form-data”

Endelig bestemmer denne funktion, hvilken type indhold formularen kan indsende.

Efter at have kendskab til disse kodefunktioner, kan vi gå videre til næste trin for filuploaderen. Sørg for at åbne din terminal og starte din server fra biblioteket. Skriv f.eks. følgende koder:

PHP-file-upload

Gå desuden til din webbrowser og åbn for localhost:1234. Hvis den viser ovenstående kode, har du startet serveren med succes.

Giv formularen et bedre udseende

For det andet skal du style formularen for at gøre den mere egnet til brugerinteraktion. Desværre forsømmer de fleste udviklere ofte denne vej, fordi de føler, at den ikke er stresset værd.

Hvis du laver denne styling til din filuploader med PHP og CSS, vil din brugergrænseflade blive mere attraktiv for brugerne. Du kan f.eks. skrive følgende koder:

div.upload-wrapper {
  color: white;
  font-weight: bold;
  display: flex;
}

input[type="file"] {
  position: absolute;
  left: -9999px;
}

input[type="submit"] {
  border: 3px solid #555;
  color: white;
  background: #666;
  margin: 10px 0;
  border-radius: 5px;
  font-weight: bold;
  padding: 5px 20px;
  cursor: pointer;
}

input[type="submit"]:hover {
  background: #555;
}

label[for="file-upload"] {
  padding: 0.7rem;
  display: inline-block;
  background: #fa5200;
  cursor: pointer;
  border: 3px solid #ca3103;
  border-radius: 0 5px 5px 0;
  border-left: 0;
}

label[for="file-upload"]:hover {
  background: #ca3103;
}

span.file-name {
  padding: 0.7rem 3rem 0.7rem 0.7rem;
  white-space: nowrap;
  overflow: hidden;
  background: #ffb543;
  color: black;
  border: 3px solid #f0980f;
  border-radius: 5px 0 0 5px;
  border-right: 0;
}

Resultatet af disse koder vil helt sikkert give din form et bedre udseende.

File Uploader PHP

Dette trin er for dig at håndtere filen upload backend. Først skal du oprette en mappe med navnet uploads, så du kan gemme filer.

For det andet skal du oprette en anden fil med navnet fileUploadScript.php i mappen index.html. Efter at have gjort det, skriv følgende koder; for eksempel:

<?php
 $currentDirectory = getcwd();
 $uploadDirectory = "/uploads/";
 $errors = []; // Store errors here
 $fileExtensionsAllowed = ['jpeg','jpg','png']; // These will be the only file extensions allowed
 $fileName = $_FILES['the_file']['name'];
 $fileSize = $_FILES['the_file']['size'];
 $fileTmpName  = $_FILES['the_file']['tmp_name'];
 $fileType = $_FILES['the_file']['type'];
 $fileExtension = strtolower(end(explode('.',$fileName)));
 $uploadPath = $currentDirectory . $uploadDirectory . basename($fileName);

if (isset($_POST['submit'])) {
  if (! in_array($fileExtension,$fileExtensionsAllowed)) {
     $errors[] = "This file extension is not allowed. Please upload a JPEG or PNG file";
   }
  if ($fileSize > 4000000) {
     $errors[] = "File exceeds maximum size (4MB)";
   }
  if (empty($errors)) {
     $didUpload = move_uploaded_file($fileTmpName, $uploadPath);
    if ($didUpload) {
       echo "The file " . basename($fileName) . " has been uploaded";
     } else {
       echo "An error occurred. Please contact the administrator.";
     }
   } else {
     foreach ($errors as $error) {
       echo $error . "These are the errors" . "\n";
     }
   }
 }
?>

Inden du begynder at uploade filer, skal du derfor skrive følgende kode for at sikre, at din uploadmappe er skrivbar:

chmod 0755 uploads/

Tjek derefter din php.ini grundigt for at se, om filen er egnet til at håndtere filer ved at køre denne kommando:

PHP -ini

Afslutningsvis skal du starte PHP-serveren og åbne den til localhost:1234 for at uploade filen. Når uploadmappen viser den gemte fil, har du oprettet en filuploader PHP.

Sådan laver du en uploader til flere filer med PHP

Du skal vide, at du kan oprette flere filuploadere med PHP ved hjælp af et enkelt element.

Udviklere kan specifikt designe din PHP-kode til en enkelt filuploader og tillade filelementet at vælge flere gange. Du kan tage følgende trin for at oprette uploader til flere filer.

Sørg for at oprette en HTML-formular

Tillad først upload af flere filer i

og skriv f.eks. følgende koder:
<form method='post' action='' enctype='multipart/form-data'>
 <input type="file" name="file[]" id="file" multiple>
 <input type='submit' name='submit' value='Upload'>
</form>

Som et resultat af koderne kan du oprette HTML-formularen med succes.

Vælg filer på basis

Tæl derefter alle valgte filer og drej dem over hele filerne for at vælge filer på indeksbasis. Skriv for eksempel følgende koder for at udføre det:

<?php 
if(isset($_POST['submit'])){
 // Count total files
 $countfiles = count($_FILES['file']['name']);
 // Looping all files
 for($i=0;$i<$countfiles;$i++){
   $filename = $_FILES['file']['name'][$i];
 // Upload file
move_uploaded_file($_FILES['file']['tmp_name'][$i],'upload/'.$filename);
 }
} 
?>

Resultatet af koderne vil således vise, at du har oprettet en uploader til flere filer til din PHP.

Også offentliggjort her.