я использую uploadifive загружать файлы на мой сервер. Но прежде чем файлы будут перемещены в постоянную папку (eg. move_uploaded_file($tempFile, $targetFile))
они переименованы.
В прошлом я использовал uplodify, и я, пользователь, мог возвращать новое имя файла примерно так
'onUploadSuccess' : function(file, data, response) {
alert('Renamed file name is - ' + data);
}
К сожалению onUploadSuccess
метод недоступен для загрузки.
Как я могу вернуть клиенту новое имя файла?
вот код, который я использую для переименования и загрузки файла
if (!empty($_FILES) ) {
//arrayDump($_FILES);
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = ROOT_FIXED . UPLOAD_DIR . $targetFolder; //$_SERVER['DOCUMENT_ROOT']
$new_filename = USER_ID . '-' . time() . '-' . alphanumeric($_FILES['Filedata']['name']);
$targetFile = rtrim($targetPath, '/') . '/' . $new_filename;
$fileParts = pathinfo($new_filename);
if (in_array(strtolower($fileParts['extension']),$fileTypes) && $_FILES['Filedata']['size'] <= $max_size ) {
if(move_uploaded_file($tempFile, $targetFile))
echo $new_filename;
else
echo 'INVALID';
} else
echo 'INVALID';
} else
echo 'INVALID';function alphanumeric( $string ){
return preg_replace('/[^a-zA-Z0-9\.\_\-]/', '', $string);
}
Спасибо
Я понял это наконец
'onUploadComplete' : function(file, data){
// this will print the new file name
console.log($.trim(data));
}
Других решений пока нет …