Сохранение оригинального название файла, после загрузки файла на сервер

225
27 марта 2017, 10:09

Есть код, который загружает файл в папку

if($_FILES){
    if(isset($_FILES)){
        $testName = $_FILES['test']['name'];
    }
    else{
        $testName = '';
    }
    if(empty($testName)){
        echo 'Згрузите тест';
    }
    echo $testName;
    $testTmpFileName = isset($_FILES['test']['tmp_name']) ? $_FILES['test']['tmp_name'] : '';
    if($testTmpFileName){
        $exploded = explode('.', $testName); //разделил строку на массив и последний элемент оказался расширением
        $testFileName = './test/'. md5($testName) . '.' . array_pop($exploded); //путь картинки
        $successMoved = move_uploaded_file($testTmpFileName, $testFileName); //перемещаю файл
    }
    echo '<pre>';
    var_dump($_FILES);
    echo '</pre>';
}

Вот допустим, если загрузить файл test.json то он загрузится и название у него будет 29f2371dad30835b344a6ca05b473eae.json

А сделать, что бы название было такое же test.json?

Answer 1

Никто не запрещает взять имя файла из $_FILES['test']['name']. Ведь оригинальное имя там и хранится.

$uploaddir = 'путь/к/директории/';
$uploadfile = $uploaddir . basename($_FILES['test']['name']);
move_uploaded_file($_FILES['test']['tmp_name'], $uploadfile)
READ ALSO
вставка переменной как часть mysql запроса в php

вставка переменной как часть mysql запроса в php

ЗдравствуйтеПодскажите пожалуйста как можно реализовать следующую задачу: $query = "INSERT INTO таблица VALUES (раз, два, три) VALUES ('текст', {$words})"; когда...

301
The table associated with app\models\Post must have primary key(s)

The table associated with app\models\Post must have primary key(s)

В /gii/crud когда добавляю crud пишет 'The table associated with app\models\Post must have primary key(s)' что мне сделат ?

351
Настройка ЧПУ для сайта с динамическим меню

Настройка ЧПУ для сайта с динамическим меню

Написал меню для сайта(php) в котором все страницы подгружаются через include(), вот код меню:

264