Roman P.
25.02.2016 13:57
0
Здравствуйте.
Что не так в коде для преобразования имени файла в md5 при загрузке?
/* Смотрим на формат файла и оставляем его, не зависимо от имени файла */
function getExtension($filename)
{
   returnend(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)
{
   returnend(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 14:38
0
getExtension($_FILES['file']['tmp_name'])

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

getExtension($_FILES['file']['name'])
barin13
25.02.2016 14:39
1
tmp_name - это не имя переданного файла, а временное расположение загруженного файла на сервере.
barin13
25.02.2016 14:40
1
php.net/manual/ru/reserved.variables.files.php
Тема закрита.