• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Что не так в коде для преобразования имени файла в md5 при загрузке?

Форумы Хостинг Что не так в коде для преобразования имени файла в md5 при загрузке?
toxi
25.02.2016
хостинг: есть
домен: есть
Что не так в коде для преобразования имени файла в md5 при загрузке?
Здравствуйте.
Что не так в коде для преобразования имени файла в md5 при загрузке?
/* Смотрим на формат файла и оставляем его, не зависимо от имени файла */
function getExtension($filename)
{
   return end(explode(".", $filename));
}
/* Смотрим на формат файла и оставляем его, не зависимо от имени файла */
               
$md5_filename = md5($_FILES['file']['tmp_name']).".".getExtension($_FILES['file']['tmp_name']);
echo $md5_filename;

Результат:
a802d4cd3bf8b33ed5418ce00f255d3e.system/tmp/php7Czj3f

То есть имя файла переименовалось в MD5, а расширение файла - какой-то путь в системе на сервере. Расширение должно браться из самого имени файла. Например: ЖЖЖ.csv
где,
ЖЖЖ - имя файла
.csv - расширение.

Перед этим делал с картинками точно такой же скрипт - все нормально сохраняет и преобразует, а здесь не хочет.
Вот этот код работает с картинками без проблем:
/* Загрузка фото */
function getExtension($filename)
{
   return end(explode(".", $filename));
}

if (!empty($_FILES["foto"]["tmp_name"]))
{
   mkdir("data/people/".$get_data_id);
   copy($_FILES["foto"]["tmp_name"], "data/people/".$get_data_id."/".md5($_FILES["foto"]["name"]).".".getExtension($_FILES["foto"]["name"]));
}
/* Загрузка фото */

Результат:
8a407e364304a5c229fe100610e0c0e2.jpg
a96744486114598a3a0f020c4fe2f0c0.png
barin13
25.02.2016
хостинг: есть
домен: есть
getExtension($_FILES['file']['tmp_name'])

нужно заменить на:

getExtension($_FILES['file']['name'])
barin13
25.02.2016
хостинг: есть
домен: есть
1
tmp_name - это не имя переданного файла, а временное расположение загруженного файла на сервере.
barin13
25.02.2016
хостинг: есть
домен: есть
1
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Горячая линия
(044)
392 74 33
другие города