@roma_4711

Как мне сделать переключатель, который задает формат нового имени загружаемого файла?

Такая задача, сделал форму загрузки файлов, но мне надо сверстать форму с загрузкой файлов, где есть переключатель изменяющий имя( в 3 форматах ниже). То-есть input type = "radio". Подскажите как это сделать.
- формат 1: текущий год-месяц-день
- формат 2: текущий год-месяц-день часы:минуты
- формат 3: случайное имя длиной 5 символов (где цифра 5 - текстовое поле, которое можно менять)

<h1>Basic File Upload</h1>
<form method="post" action="basic.php" enctype="multipart/form-data">
<label for="inputfile">Upload File</label>
<input type="file" name="inputfile"></br>
<input type="submit" value="Загрузить">
</form>


<?php
if(isset($_FILES) && $_FILES['inputfile']['error'] == 0){ 
$destiation_dir = dirname(__FILE__) .'/'.$_FILES['inputfile']['name']; 
move_uploaded_file($_FILES['inputfile']['tmp_name'], $destiation_dir );  
echo 'Файл загружен'; 
}
else{
echo 'Файл не загружен';
}
?>
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@choupa
Архитектор (обычный, который строит)
Не понимаю, что именно у вас не получается:

1. Сделать радио-кнопки в HTML?
2. Переопределение имени на стороне сервера?

<input type="radio" name="name_pattern" value="date"/>
<label for="date">формат 1: текущий год-месяц-день</label><br/>

<input type="radio" name="name_pattern" value="date-time"/>
<label for="date-time">формат 2: текущий год-месяц-день часы:минуты</label><br/>

<input type="radio" name="name_pattern" value="random-string"/>
<label for="random-string">формат 3: случайное имя</label><br/>

<input type="text" name="name_length"/>


switch ($_POST['name_pattern'])  {
// Генерируем имя файла в зависимости от выбранного формата
  case 'date': {
    $new_file_name = date('d-m-Y');
    break;
  }
  case 'date-time': {
    $new_file_name = date('d-m-Y H:i');
    break;
  }
  case 'random-string': {
    $new_file_name = my_random_string_generator($_POST['name_length']);    // эту функцию писать лень, т.к. это несколько отдельный вопрос
    break;
  }
}

// Вытаскиваем из имени загруженного файла его расширение
$extension = pathinfo($_FILES['inputfile']['name'], PATHINFO_EXTENSION);

// Собраем имя файла
$destiation_dir = dirname(__FILE__) .'/'.$new_file_name.'.'.$extension;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы