jQuery uploadify изменить имя файла по мере его загрузки.

Я использую uploadify (плагин jQuery) для загрузки файлов, когда добавляю клиентов в свою БД.

Я хотел бы прикрепить файлы к клиентам. Проблема № 1 заключается в том, что клиент является новым клиентом, поэтому он еще не добавлен в БД. Я преодолел это, получив следующий Client_ID в БД.

ТЕПЕРЬ реальная проблема заключается в том, что все файлы, которые загружаются, должны начинаться с этого идентификатора... что-то вроде: (29) --- я хотел бы, чтобы круглые скобки добавляли открытие и закрытие client_ID ---- я искал на stackoverflow и uploadify.com, но не могу понять, как это сделать.

МНЕ НУЖНО СДЕЛАТЬ ЭТО ЧЕРЕЗ JS, потому что я использую PHP в другом месте своего приложения, и я не хочу его менять, если это вообще возможно.

НЕКОТОРЫЙ КОД: вот jQuery на данный момент

$('#file_upload').uploadify({
    'uploader'  : 'uploader/uploadify.swf',
    'script'    : 'uploader/uploadify.php',
    'cancelImg' : 'uploader/cancel.png',
    'folder'    : 'clientFiles',
    'buttonText'  : 'Attachments',
    'removeCompleted' : false,
    'multi'          : true,
    'auto'      : true
  });

PHP, который получает следующий Client_ID

$sql = "SELECT Client_ID FROM clients";
    $result = $db->sql_query($sql);
    $nextClientID= mysql_num_rows($result)+1;

СПАСИБО за ЛЮБУЮ ПОМОЩЬ!!!


person m_gunns    schedule 10.10.2011    source источник


Ответы (2)


вам просто нужно вернуть $targetPath из вашего файла uploadify.php, например:

echo $targetPath

И, пожалуйста, удалите эхо '1'

И теперь вам нужно получить переименованное имя файла. Вы можете получить это в функции onUploadSuccess. onUploadSuccess() принимает три параметра (файл, данные, ответ),

где файл дает вам фактическое имя файла, который вы просматривали на своем компьютере, а данные дают вам переименованное имя файла, которое вы создали с помощью кода uploadify.php в соответствии с вашими требованиями.

Итак, вы можете попробовать приведенный ниже код -

'onUploadSuccess' : function(file, data, response) {
        alert('Renamed file name is - ' + data);
    }

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

person Yogesh Sharma    schedule 06.05.2013
comment
Это верно. Обязательно используйте событие onUploadSuccess, а не onUploadComplete, поскольку «данные» не являются аргументом для этого события. - person Ryan; 22.06.2013

добавить в JS

onComplete: function(file, tmpname){
 alert(tmpname);
}

Добавить к

загрузить.php

die( $temp_name );
person user956584    schedule 10.10.2011
comment
это, похоже, вообще не работает. Может быть, вы можете дать мне больше деталей. Или адаптируйте его к моему коду. - person m_gunns; 10.10.2011
comment
onComplete не является допустимым событием. Правильное событие: onUploadSuccess(файл, данные, ответ) uploadify.com/documentation - person Ryan; 22.06.2013