Написать код для загрузки файла в PHP?

PHP Программирование и разработка

В этой статье мы поймем, как загрузить файл с помощью PHP. Давайте разберемся с некоторыми основными конфигурациями.

В файле » php.ini » найдите file_uploads и установите для него значение «Вкл.».

file_uploads = Вкл.

Подход:

  • Сначала мы создаем файл HTML, в котором создаем форму, чтобы мы могли загрузить файл с помощью метода POST.
  • Переменная $target_dirв «fileupload.php» принимает имя каталога через метод post.
  • $target_fileпринимает местоположение каталога, в который будет загружен файл.
  • $imageFileTypeиспользуется для получения расширения файла, чтобы мы могли убедиться, что файл имеет допустимое расширение.
  • $extensionsиспользуются для хранения допустимых расширений, чтобы вы могли изменять их в соответствии с требованиями программы и добавлять или удалять их из массива расширений.
  • На последнем шаге введите имя каталога, в который вы хотите загрузить файл, а затем выберите файл на локальном устройстве и отправьте его. Вы увидите, что файл загружен, как указано на изображении ниже.

index.html

<!DOCTYPE html>
<html>
<body>
<form action="fileupload.php" method="post"
enctype="multipart/form-data">
Directory<input type="text" name="dirname"
id="dirname"><br>
Select image to upload:
<input type="file" name="fileToUpload"
id="fileToUpload"><br>
<input type="submit" value="Upload Image"
name="submit">
</form>
</body>
</html>

файлupload.php

<!DOCTYPE html>
<?php
 
    $target_dir = $_POST["dirname"]."/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
    $extentions = array("jpeg","jpg","png","pdf","gif");
 
   if(isset($_POST["submit"])) {
 
        // To check whether directory exist or not
        if(!empty($_POST["dirname"])){
            if(!is_dir($_POST["dirname"])) {
                mkdir($_POST["dirname"]);    
                $uploadOk = 1;            
            }
        }
        else {
            echo "Specify the directory name...";
            $uploadOk = 0;
            exit;
        }
 
        // To check extensions are correct or not
        if(in_array($imageFileType, $extentions) === true) {     
            $uploadOk = 1;
        
        else {
 
            echo "No file selected or Invalid file extension...";
            $uploadOk = 0;
            exit;        
        }
    }
        // Check if file already exists
        if (file_exists($target_file)) {
 
            echo "Sorry, file already exists.";
            $uploadOk = 0;
            exit;
        }
 
        // Check file size
        if ($_FILES["fileToUpload"]["size"] > 10000000) {
 
            echo "Sorry, your file is too large.";
            $uploadOk = 0;
            exit;
        }
 
        // Check if $uploadOk is set to 0 by an error
        if ($uploadOk == 0) 
        {
           echo "Sorry, your file was not uploaded.";
        
         else
        {
 
            // If everything is ok, try to upload file
            if (move_uploaded_file($_FILES["fileToUpload"]
                  ["tmp_name"], $target_file)) 
            {      
                echo "The file "$_FILES["fileToUpload"]
                  ["name"]. " has been uploaded.";
            
            else
            {        
                echo "Sorry, there was an error uploading your file.";
            }
        }    
?>
 
</body>
</html>

Выход:

Читайте также:  Как изменить значения NaN в строке или столбце Pandas DataFrame на 0?

напишите имя каталога и выберите файл

напишите имя каталога и выберите файл

после загрузки файла 

после загрузки файла

Оцените статью
bestprogrammer.ru
Добавить комментарий

Adblock
detector