There is a Html form:

<form method="post" action=""/> <input required="required" name="image" type="file" /> <input type="submit"/> </form> 

php code:

 if(isset($_FILES['image'])){ $uploaddir = '../images/articles/'; $prev = $uploaddir.basename($_FILES['image']['name']); copy($_FILES['image']['tmp_name'], $prev); } 

He sees $_POST['image'] , but does not see $_FILES['image'] , what could be the reason?

    2 answers 2

    Add to form: enctype = "multipart / form-data"

     <form method="post" enctype="multipart/form-data" action=""/> 

      I think you want to invent a bicycle, which has long been invented. Now on the Internet you can find hundreds of ready-made forms of uploading pictures to the site, from simple ones to downloading via Ajax with the download indicator. In order to make a good form of uploading photos you need to do several checks such as the file extension, file size and so on.

      Html:

       <form action="./upload.php" method="post" enctype="multipart/form-data"> <p><input type="file" name="userfile" id="file"></p> <p><input type="submit" value="Загрузить фаил"></p> </form> 

      Php:

       $allowed_filetypes = array('.jpg','.gif','.bmp','.png'); // Допустимые типы файлов $max_filesize = 524288; // Максимальный размер файла в байтах (в данном случае он равен 0.5 Мб). $upload_path = './files/'; // Папка, куда будут загружаться файлы . $filename = $_FILES['userfile']['name']; // В переменную $filename заносим имя файла (включая расширение). $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // В переменную $ext заносим расширение загруженного файла. if(!in_array($ext,$allowed_filetypes)) // Сверяем полученное расширение со списком допутимых расширений. die('Данный тип файла не поддерживается.'); if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize) // Проверим размер загруженного файла. die('Фаил слишком большой.'); if(!is_writable($upload_path)) // Проверяем, доступна ли на запись папка. die('Невозможно загрузить фаил в папку. Установите права доступа - 777.'); // Загружаем фаил в указанную папку. if(move_uploaded_file($_FILES['userfile']['tmp_name'],$upload_path . $filename)) { echo 'Ваш фаил успешно загружен '; echo '<br><br>'; echo '<img src="' . $upload_path . $filename . '" width="300" >'; } else { echo 'При загрузке возникли ошибки. Попробуйте ещё раз.'; }