PHP

Генерация уникального имени файла

Генерация уникального имени файлаВ этой статье я приведу пример генерации уникального имени файла средствами php. Пример короткий, но может быть полезным. Смысл кода заключается в том, чтобы проверить существование имени файла и при существовании такого имени приписать к названию префикс. Выглядеть это будет примерно так: при существовании файла name.txt будет создано имя 1_name.txt
Код оформлен в функцию:
/**
*   Получение уникального имени для файла
*
*   @param string $path - путь к папке, где будет осуществлена проверка
*   @param string $fileName - исходное имя файла
*
*   @return string - уникальное имя файла
*/
function getUniqName($path, $fileName){    
    $num = 1; // счетчик
    // проверяем, может существует уже файл с таким именем
    if(file_exists($path.$fileName)) {   
        // добавляем префикс и проверяем на наличие такого имени
        while(file_exists($path.$num . '_' . $fileName)){ // добавляем префикс и проверяем наличие такого файла
            $num ++;
        }  
        return $num . '_' . $fileName;
    }else{
        return $fileName;
    }
}

И пример использования:
// пример использования
print_r (getUniqName('./files/', 'test_file.png'));
// при существовании test_file.png результат будет - 1_test_file.png
Теги:
файл
Добавлено: 17 Мая 2018 19:11:28 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...