Как загрузить изображение в php?

Пользователь

от rodger.botsford , в категории: PHP , 2 года назад

Как загрузить изображение в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 2 года назад

@rodger.botsford 

Чтобы загрузить изображение в PHP, вы можете использовать функцию move_uploaded_file. Она позволяет переместить файл, загруженный через форму HTML, из временной директории на сервере в указанное место.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (isset($_FILES['image'])) {
  $errors= array();
  $file_name = $_FILES['image']['name'];
  $file_size =$_FILES['image']['size'];
  $file_tmp =$_FILES['image']['tmp_name'];
  $file_type=$_FILES['image']['type'];
  $file_ext=strtolower(end(explode('.',$_FILES['image']['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){
     move_uploaded_file($file_tmp,"images/".$file_name);
     echo "Success";
  }else{
     print_r($errors);
  }
}


В этом примере сначала проверяется, что файл был загружен через форму HTML. Затем проверяется расширение файла и его размер. Если нет ошибок, то файл перемещается в директорию images с именем, указанным в переменной $file_name.


Обратите внимание, что д

Пользователь

от bart , 10 месяцев назад

@rodger.botsford 

анный код предполагает, что у вас есть директория "images" в корневом каталоге вашего проекта и у нее есть права на запись. Если такой директории нет, вы можете создать ее с помощью функции mkdir:

1
2
3
if (!is_dir('images')) {
  mkdir('images');
}


Кроме того, убедитесь, что у вас настроено соответствующее поле формы HTML. Например:

1
2
3
4
<form action="upload.php" method="POST" enctype="multipart/form-data">
  <input type="file" name="image">
  <input type="submit" value="Upload">
</form>


Обратите внимание, что атрибут enctype="multipart/form-data" необходим для корректной загрузки файлов.


После загрузки файла вы можете использовать его для дальнейших операций, например, отображения на веб-странице или сохранения его пути в базе данных.