Разделы

Смена названия загружаемого файла

Исходник

У меня вопрос можно ли переименовывать файл в процессе закачки.
например: человек закачивает файл сканер.zip,
а в папку кладется 26102009.zip
то есть название файлов приводится к одному формату в моем примере это текущая дата закачки.
вот снипет
<?php
function ParseForm( &$fields ){

      //global $modx;
      $target_path = "/www/electrim/www/htdocs/assets/tz/";
      $target_path = $target_path . basename( $_FILES['attach']['name']);
    if(move_uploaded_file($_FILES['attach']['tmp_name'], $target_path)) {
      echo "Файл ". basename( $_FILES['uploadedfile']['name']). " был загружен.";
       } else{
       echo "Загрузить файл не удалось , попробуйте ещё раз!";
      }
      return true;
       }
?>
  • 0
  • 26 октября 2009, 21:28
  • 1234

Комментарии (4)

RSS свернуть / развернуть
0
Поидее нужно просто изменить
$target_path = $target_path . basename( $_FILES['attach']['name']);
на
$target_path = $target_path . date("dmY");

avatar

iJack

  • 26 октября 2009, 22:42
0
да работает, но теряет расширение
то есть
26102009 без .zip
avatar

1234

  • 26 октября 2009, 23:00
+1
пардон :) Простейший вариант только для ZIP файлов
$target_path = $target_path . date("dmY").".zip";

А вот такой код с регуляркой поидее должен сохранять оригинальное расширения файла
$filename = $_FILES['attach']['name'];
$ext = array();
preg_match('/\S+\.(\S+)$/', $filename, $ext);
$target_path = $target_path . date("dmY").".".$ext[1];

avatar

iJack

  • 27 октября 2009, 11:46
0
спасибо, я пока буду использовать 1 вариант, но второй надо проверить (позже)
avatar

1234

  • 27 октября 2009, 14:07

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.