2016-11-06 3 views
0

Я использую Drag и версию отброшенной в файл пользователя, который доступен по адресу: https://github.com/CreativeDream/php-uploaderПереименовать файл при загрузке

Но его загрузкой файла с реальным именем вместо его переименования. Я хочу переименовать файл во время его загрузки.

Это ajax_upload_file.php: файл класса

<?php 
    include('class.uploader.php'); 

    $uploader = new Uploader(); 
    $data = $uploader->upload($_FILES['files'], array(
     'limit' => 10, //Maximum Limit of files. {null, Number} 
     'maxSize' => 10, //Maximum Size of files {null, Number(in MB's)} 
     'extensions' => null, //Whitelist for file extension. {null, Array(ex: array('jpg', 'png'))} 
     'required' => false, //Minimum one file is required for upload {Boolean} 
     'uploadDir' => '../uploads/', //Upload directory {String} 
     'title' => array('name'), //New file name {null, String, Array} *please read documentation in README.md 
     'removeFiles' => true, //Enable file exclusion {Boolean(extra for jQuery.filer), String($_POST field name containing json data with file names)} 
     'replace' => false, //Replace the file if it already exists {Boolean} 
     'perms' => null, //Uploaded file permisions {null, Number} 
     'onCheck' => null, //A callback function name to be called by checking a file for errors (must return an array) | ($file) | Callback 
     'onError' => null, //A callback function name to be called if an error occured (must return an array) | ($errors, $file) | Callback 
     'onSuccess' => null, //A callback function name to be called if all files were successfully uploaded | ($files, $metas) | Callback 
     'onUpload' => null, //A callback function name to be called if all files were successfully uploaded (must return an array) | ($file) | Callback 
     'onComplete' => null, //A callback function name to be called when upload is complete | ($file) | Callback 
     'onRemove' => null //A callback function name to be called by removing files (must return an array) | ($removed_files) | Callback 
    )); 

    if($data['isComplete']){ 
     $files = $data['data']; 

     echo json_encode($files['metas'][0]['name']); 
    } 

    if($data['hasErrors']){ 
     $errors = $data['errors']; 
     echo json_encode($errors); 
    } 

    exit; 
?> 

Загрузить действительно большой, поэтому я не вставляя его здесь. Вы можете скачать источник по ссылке, приведенной выше, через 30 секунд. Пожалуйста, помогите мне. Благодарю.

+0

Когда ваш файл соответствует PHP, вы будете использовать 'move_uploaded_file'right? К тому времени вы сможете« переименовать »ваши файлы –

+1

« «title» => array ('name'), // Новое имя файла {null, String, Array} * прочитайте документацию в README.md " –

ответ

1

Соответственно к документации этот плагин:

  • заголовка Нового имя файла

    • нуля Uploads с именем оригинального файла
    • Строка пользовательским именем файла | use: auto, name, {{random}}, {{file_name}}, {{file_size}}, {{timestamp}}, {{date}}, {{extension}}, {{.extension}}
    • Массив

      • Строка имя пользовательского файла | use: auto, name, {{random}}, {{file_name}}, {{file_size}}, {{timestamp}}, {{date}}, {{extension}}, {{.extension}}

      • Количество длина Случайное имя

Итак, вам нужно выбрать, какой тип имени вы хотите. Я предлагаю использовать случайные имена, использование:

$data = $uploader->upload($_FILES['files'], array(
     // ... Other options... 
     'title' => array('{{random}}{{.extension}}', 32), 
     // ... More options... 
)); 

Таким образом, вы создаете случайное имя из 32 символов с соответствующим расширением файла.

+0

Спасибо .. он выполнил задание :) –

Смежные вопросы