Загрузка файла на сервер через форму

Представленные PHP скрипты, проверены и полностью работоспособны, если у Вас возникнет проблема в их использовании, то в первую очередь проверьте папку на установленные права доступа.

В обоих вариантах, в корне (в папке в которой рассоложен скрипт) должна быть папка «temp», в эту папку и будут перемещаться загруженные на сервер файлы.

Вариант №1

<!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Загрузка файла через форму</title>
</head>
<body>

   <Form action="script.php" method="POST" enctype="multipart/form-data">
       <input type="file" name="filename">
       <input type="submit" value="Отправить">
   </Form>
</body>
</html>
<?php
  if (move_uploaded_file($_FILES['filename']['tmp_name'],'temp/'.$_FILES['filename']['name'])) {
    echo 'Файл успешно загружен';
  } else {
    echo 'Ошибка загрузки файла';
  }
  
?>

Вариант №2

<!DOCTYPE html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Загрузка файла через форму</title>
</head>
<body>

   <Form action="script.php" method="POST" enctype="multipart/form-data">
       <input type="file" name="filename">
       <input type="submit" value="Отправить">
   </Form>
</body>
</html>
<?php
  
  echo 'Исходное имя файла - ' .$_FILES['filename']['name']. '<br>';
  echo 'Размер файла в байтах - ' .$_FILES['filename']['size']. '<br>';
  echo 'MIME тип файла - ' .$_FILES['filename']['type']. '<br>';
  echo 'Временный файл, в котором сохранен загруженный файл - ' .$_FILES['filename']['tmp_name']. '<br>';
  echo 'расширение файла - ' .strtolower(pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION)). '<br>';
  
  /* проверка соответствия расширения файла с именами расширения из масива
     in_array - сверка массива (если есть совпадения)
	 !in_array - сверка массива (если нет совпадений)
	 
	 strtolower - преобразует строку в нижний регистр
	 
	 PATHINFO_EXTENSION - получаем расширение файла
  */
  if (in_array(strtolower(pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION)), array('jpg', 'jpeg', 'png', 'gif'))){
     if (move_uploaded_file($_FILES['filename']['tmp_name'],'temp/'.$_FILES['filename']['name'])) {
      echo 'Файл успешно загружен';
    } else {
      echo 'Ошибка загрузки файла';
    }
  } else {
    echo 'Неверный формат файла!';
  } 

?>

3 Comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *