В показанном коде ошибки нет, я не могу продемонстрировать здесь, но это код будет работать, могу снимки с экрана только показать.
А вот ошибки в массиве $_FILES на сервере говорят о том, что файл передается, иначе бы массив был пуст. По номеру ошибки можно судить что происходит.
Знаете что такое basename(), так почему не используете.
|