Jak vytvořit nástroj pro nahrávání více souborů pro vaši aplikaci PHP

Většina vývojářů v dnešní době používá PHP ke konkrétnímu vytvoření nástroje pro nahrávání souborů pro své webové nebo mobilní aplikace. PHP file uploader, například, je jednou z nejúčinnějších metod nahrávání souborů.

Vývojáři by měli vědět, jak vytvořit nástroj pro nahrávání souborů pomocí PHP, aby měli lepší funkci nahrávání souborů.

My tyto znalosti máme a díky tomu jste míle před svými kolegy. Než se tedy naučíme, jak vytvořit PHP soubor pro nahrávání, potřebujeme znát nějaké základy.

Co je PHP

PHP, jinak známý jako Hypertext Preprocessor, je open-source framework. Většina vývojářů používá PHP kvůli jeho dostupnému serverovému skriptovacímu jazyku.

PHP je programovací jazyk, který se mohou naučit i nováčci díky jeho skvělé podpoře a dostupné dokumentaci. Uživatelé WordPressu mohou také používat PHP k přizpůsobení svých stránek.

Jaké jsou využití PHP

Podobně PHP, stejně jako jakýkoli jiný framework, je pro vývojáře zásadní. Například PHP je flexibilní a přímočaré a umožňuje začátečníkům jej snadno používat. Mezi další použití PHP patří:

  • Může provádět systémové funkce

  • Vytváření, otevírání, zápis, čtení a otevírání souborů

  • Může ovládat formuláře

  • Shromažďování a ukládání dat ze souborů

  • PHP může pomoci přidat, odebrat a změnit prvky ve vaší databázi

  • PHP vám umožňuje výslovně omezit uživatele na získání přístupu na některé stránky vašeho webu

  • A konečně, kvůli své bezpečnosti může šifrovat uložená data

  • Protože známe použití PHP, můžeme nyní pokračovat v tom, jak vytvořit PHP pro nahrávání souborů.

Jak vytvořit program pro nahrávání souborů pomocí PHP

Vývojáři mohou použít Filestack k vytvoření lepšího nástroje pro nahrávání souborů pomocí PHP. Pro začátek zvážíme například tři kroky.

Vytvoření formuláře HTML

Nejprve budete muset vytvořit formulář HTML, který si uživatelé mohou zobrazit, pokud chtějí nahrát své soubory. Podobně vytvořte složku pro projekt a index.html s kódy, například:

<!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>

Výsledek kódu skutečně vytvoří HTML formulář. Než přejdeme k dalšímu kroku, musíme si poznamenat několik věcí, které se týkají zejména funkcí kódu, a jsou to:

action=“fileUploadScript.php”

Tato kódová značka potvrzuje PHP skript zodpovědný za zpracování nahrávání souborů na backend.

method=“post”

Tato funkce dává prohlížeči vědět, který formulář má použít při odesílání souboru na server.

enctype=“multipart/form-data”

Nakonec tato funkce rozhodne o typu obsahu, který může formulář odeslat.

Poté, co budeme znát tyto funkce kódu, můžeme přejít k dalšímu kroku pro nahrávání souborů. Ujistěte se, že otevřete svůj terminál a spusťte server z adresáře. Napište například následující kódy:

PHP-file-upload

Dále přejděte do svého webového prohlížeče a otevřete localhost:1234. Pokud zobrazuje výše uvedený kód, úspěšně jste spustili server.

Dejte formuláři lepší vzhled

Za druhé upravte styl formuláře tak, aby byl vhodnější pro interakci uživatele. Bohužel většina vývojářů tuto cestu často zanedbává, protože mají pocit, že to nestojí za ten stres.

Pokud provedete tento styl pro váš program pro nahrávání souborů pomocí PHP a CSS, vaše uživatelské rozhraní bude pro uživatele přitažlivější. Můžete napsat například následující kódy:

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;
}

Výsledek těchto kódů jistě dodá vašemu formuláři lepší vzhled.

Nástroj pro nahrávání souborů PHP

Tento krok je pro vás, abyste zvládli backend nahrávání souborů. Nejprve vytvořte adresář s názvem uploads, abyste mohli ukládat soubory.

Za druhé vytvořte další soubor s názvem fileUploadScript.php v adresáři index.html. Poté napište následující kódy; například:

<?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";
     }
   }
 }
?>

Než tedy začnete nahrávat soubory, napište následující kód, abyste zajistili, že váš adresář pro nahrávání bude zapisovatelný:

chmod 0755 uploads/

Poté důkladně zkontrolujte svůj php.ini a zjistěte, zda je soubor vhodný pro zpracování souborů spuštěním tohoto příkazu:

PHP -ini

Na závěr spusťte PHP server a otevřete jej na localhost:1234 pro nahrání souboru. Jakmile se ve složce uploads zobrazí uložený soubor, úspěšně jste vytvořili PHP pro nahrávání souborů.

Jak vytvořit nástroj pro nahrávání více souborů pomocí PHP

Měli byste vědět, že pomocí PHP můžete vytvořit více souborů pro nahrávání souborů pomocí jediného prvku.

Vývojáři mohou konkrétně navrhnout váš PHP kód pro nahrávání jednoho souboru a umožnit prvku souboru vybrat vícekrát. Chcete-li vytvořit nástroj pro nahrávání více souborů, můžete provést následující kroky.

Ujistěte se, že jste vytvořili formulář HTML

Nejprve povolte nahrávání více souborů v

a napište například následující kódy:
<form method='post' action='' enctype='multipart/form-data'>
 <input type="file" name="file[]" id="file" multiple>
 <input type='submit' name='submit' value='Upload'>
</form>

Díky kódům můžete úspěšně vytvořit HTML formulář.

Vyberte Soubory na základě

Dále spočítejte všechny vybrané soubory a otočte je přes celé soubory, abyste vybrali soubory na základě indexu. Chcete-li to provést, napište například následující kódy:

<?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);
 }
} 
?>

Výsledek kódů tedy ukáže, že jste pro svůj PHP úspěšně vytvořili nástroj pro nahrávání více souborů.

Zveřejněno také zde.