Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Новое имя загружаемого файла
DimaP  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 2
Пользователь №: 43072
На форуме: 5 месяцев, 21 день
Карма:




Есть форма для загрузки файлов. Код ниже:
<!DOCTYPE HTML>

<html>

<head>
<title>
Загрузка файлов из формы</title>
<meta
charset=UTF-8>
</head>

<body>
<h2><p><b>
Форма для загрузки файлов </b></p></h2>
<form
action="DZ12A.php" method="post" enctype="multipart/form-data">
<input
type="file" name="filename"><br>
<input
type="submit" value="Загрузить"><br>
</form>
</body>

</html>


Также есть php код, обрабатывающий эту форму:
if(is_uploaded_file($_FILES["filename"]["tmp_name"])) {

move_uploaded_file($_FILES["filename"]["tmp_name"], "D:\Марина диск E" . $_FILES["filename"]["name"]);
echo 'Файл успешно загружен';
}

else {
echo 'При загрузке файла произошла ошибка';
}

Необходимо задать формат нового имени загружаемого файла на выбор (т. е., грубо говоря, при загрузке файла изменять его имя):
- формат 1: текущий год-месяц-день
- формат 2: текущий год-месяц-день часы: минуты
- формат 3: случайное имя длиной 5 символов

Я сделал это следующим образом.
//формат 1, формат 2
$t1 = time();
$arr[0] = date('Y-m-d', $t1);
$arr[1] = date('Y-m-d H:i', $t1);

//формат 3
$name = null;
$i = 0;
$arra = array ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9','0');

While ($i != 5){
$a = array_rand ($arra);
$name = $name . $a;
$i++;
}
$arr[2] = $name;

//Вот сама строчка, изменяющая имя
$_FILES["filename"]["name"] = array_rand ($arr);


Но фишка вот в чём:
Необходимо сверстать форму с загрузкой файлов, где есть ПЕРЕКЛЮЧАТЕЛЬ, ИЗМЕНЯЮЩИЙ ИМЯ. То-есть input type = "radio". При этом формат 3: случайное имя длиной 5 символов (где цифра 5 - текстовое поле, которое можно менять). Как это сделать я вообще понятия не имею. Чисто кодом написал, но вот как сделать изменения имени через переключатели... а в особенности через текстовое поле... помогите плиз
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 5 дней
Карма: 77




Имя файла :<br>
<p>
<input
type="radio" name="forma" value="1"> - текущий год-месяц-день
</p>
<p>
<input
type="radio" name="forma" value="2"> - текущий год-месяц-день часы: минуты
</p>
<p>
<input
type="radio" name="forma" value="3"> - случайное имя длиной <input type="text" name="lenght" value="5" style="width:30px;"> символов
</p>

if (!empty($_POST['forma'])){
if ($_POST['forma'] == 1) {
$_FILES["filename"]["name"] = date('Y-m-d');
}

if ($_POST['forma'] == 2) {
$_FILES["filename"]["name"] = date('Y-m-d_H:i');
}

if ($_POST['forma'] == 3) {
$arra = array_merge(range('a', 'z'),range('A', 'Z'), range(1, 9), [0]);
$n = (empty($_POST['lenght']) OR $_POST['lenght'] < 0 OR $_POST['lenght'] > 250) ? 5 : (int)$_POST['lenght'];
$i=0;
$name = '';
While ($i != $n){
$a = array_rand ($arra);
$name .= $arra[$a];
$i++;
}

$_FILES["filename"]["name"] = $name;
}

// тут необходимо найти расширение файла и добавить к имени.

}
P.S. Полное имя файла (включая расширение) в Windows может содержать до 260 символов (с)

Это сообщение отредактировал Kusss - 25.08.2016 - 02:44
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса