На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

В чём ошибка обработчика формы загрузки файла?

Вопросы-ответы / 5 сентября 2016

Подскажите, что я делаю не так. Юзер прикрепляет файл к форме на сайте и отправляет. На почту файл не приходит. Вот фрагмент кода обработчика:

if(isset($_FILES["userfile"])) // Если файл существует 
{ 
  $catalog = "var/www/admin/www/site.ru/uploads/temp"; // Наш каталог 
  if (is_dir($catalog)) // Если такой каталог есть 
  { 
    $myfile = $_FILES["userfile"]["tmp_name"]; // Временный файл 
    $myfile_name = $_FILES["userfile"]["name"]; // Имя файла 
    if(!copy($myfile, $catalog)) echo 'Ошибка при копировании файла '.$myfile_name // Если не удалось скопировать файл 
  } 
  else mkdir('var/www/admin/www/site.ru/uploads/temp'); // Если такого каталога нет, то мы его создадим 
}
evgeniy 2 1313
Комментариев: 2
  1. Уже не помню точно, но есть подозрение, что должно быть не $_FILES["userfile"], а $_FILES[0]["userfile"].

    Ну и у html тэга form точно стоит атрибут enctype="multipart/form-data"? Это частая ошибка - забывают.

  2. да, атрибут поставил нужный