NooBiToo
@NooBiToo

Почему файл не загружается на сервер?

форма:
<form method="post" action="/controllers/save_guide.php" enctype="multipart/form-data">
  	<input type="file" name="image" accept="image/jpeg,image/png,image/gif,image/heic,image/heif,image/webp"><br>
    <input type="submit" value="Добавить запись">
  </form>


Обработчик:
if(isset($_FILES['image'])){
      $errors= array();
      $file_name = strtolower($_FILES['image']['name']);
      $file_size = $_FILES['image']['size'];
      $file_tmp = strtolower($_FILES['image']['tmp_name']);
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      $file_filename = $file_tmp.".".$file_ext;
      $file_dist = "/uploads/".basename($file_name);
      
      $expensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$expensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152) {
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true) {
         if(move_uploaded_file($file_tmp,$file_dist)) {
	         echo "<br>Success<br>";
	         echo $file_tmp."<br>";
	         echo $file_filename."<br>";
	         echo $file_dist."<br>";
         } else {
         	 echo '<br>hz<br>';
         	 echo $file_tmp."<br>";
	         echo $file_filename."<br>";
	         echo $file_dist."<br>";
         }
         
      } else {
         print_r($errors);
      }
   }


Вроде всё верно и должно, но файла так и нет
Что сделал:
1) Поставил права на папку /uploads - 777
2) Перепробовал множество вариантов аплоадеров из сети
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
ubukulov
@ubukulov
Веб-разработчик
Попробуйте указать полный путь.

$file_dist = $_SERVER['DOCUMENT_ROOT'] . "/uploads/".basename($file_name);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
\print_r($_FILES); перед обработчиком покажите
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы