[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переименовывание картинки при загрузке
MillerLight
Всем привет! Есть скриптик загрузчика. Вот только не могу понять в каком месте переименовывается картинка...

Подскажите плиз которая строчка занимается переименовыванием картинки?

index.php
Свернутый текст

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Uploadify Демо</title>
<
link href="css/default.css" rel="stylesheet" type="text/css" />
<
link href="css/uploadify.css" rel="stylesheet" type="text/css" />
<
script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<
script type="text/javascript" src="scripts/swfobject.js"></script>
<
script type="text/javascript" src="scripts/jquery.uploadify.v2.1.0.min.js"></script>
<
script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'scripts/uploadify.swf', // Относительный путь к файлу uploadify.swf. По умолчанию uploadify.swf
'script' : 'scripts/uploadify.php', // Относительный путь uploadify.php. По умолчанию uploadify.php. Это скрипт - загрузчик. Обязательно посмотрите его
'cancelImg' : '../scripts/cancel.png', // Относительный путь до картинки cancel.png. По умолчанию cancel.png
'folder' : 'uploads', // Путь к папке, в которой Вы хотите сохранять загружаемые файлы.
//Эту настройку можно опустить, тогда папку загрузки необходимо определить в uploadify.php
//Помните! На большистве хостингов, папка, в которую Вы пытаетесь загрузить файлы должна быть доступна на запись, не забудьте выставить соответствующие права

'queueID' : 'fileQueue', // ID элемента, в котором будет показываться очередь загрузки
'queueSizeLimit' : '10', // Лимит очереди (максим. число загруж файлов). По умолчанию 999
'auto' : true, // Если истина, загрузка начнется сразу после выбора файлов
'multi' : true, // Если истина, то разрешена загрузка нескольких файлов
'fileDesc' : 'только фотографии jpg', // Текст, который будет внизу появляющегося диалогового окна. Без этого параметра будет написано "Все файлы('.')"
'fileExt' : '*.jpg; *.jpeg; *.JPG; *.JPE; *.jpe', // разрешенные к загрузке файлы (остальные вдиалолговом окне будути скрыты)
'sizeLimit' : 1500000, // Макс. Размер файла для каждой загрузки (в байтах). Если не указываем, ограничено будет только настройками Вашего сервера
'simUploadLimit' : 1, // Ограничение на кол-во одновременных закачек. По умолчанию 1. Если значение равно 1, то загружаться будет 1 файл, а остальные будут стоять за ним в очереди. Если 2 - два загружаются, остальные ждут их и т.д
'buttonText' : 'File', // Текст на кнопке. По умолчанию BROWSE. К сожалению русскийтекст не поддрживается
'buttonImg' : 'scripts/btn.png', // Путь до картинки, которая будет служить кнопкой. Компенсирует недостаток предыдущей. Если эта настройка указана, предыдущая будет проигнорирована
'width' : 255,
'height' : 87,
// 'onInit' : alert('Скрипт готов!'),// Функция, которая срабатывает, когда скрипт будет загружен. По умолчанию обработчик событий скрывает целевой элемент на странице и заменяет его с флэш-файл, затем создает очереди контейнера после него.
/*
'onSelect' : function(event, queueID, fileObj){ // Функция, которая сработает, при выборе каждого файла. Пример:
var string = 'Имя фала: ' + fileObj.name +'\n';
string += 'Размер файла: ' + fileObj.size + 'байт\n';
string += 'Тип: ' + fileObj.type + '\n';
string += 'ID в очереди: ' + queueID +'\n'; // уникальный ID файла, генерируется скриптом
alert(string)
},
'onSelectOnce' : function(event, data){ //Функция, которая вызывается один раз для каждой операции выбора.
var string = 'Файлов в очереди: ' + data.fileCount +'\n';
string += 'Было выбрано файлов: ' + data.filesSelected +'\n';
string += 'Заменено файлов в очереди: ' + data.filesReplaced +'\n';
string += 'Итоговый вес файлов в очереди: ' + data.allBytesTotal +'\n';
alert(string);
},
*/

'onProgress' : function(event, queueID, fileObj, data){ // Срабатываети каждый раз в ходе изменений во време загрузки
var string = 'Загружаем: ' + fileObj.name +'<br />';
string += 'Размер: ' + fileObj.size +'<br />';
string += 'Тип: ' + fileObj.type +'<br />';
string += 'загрузка текущего файла: ' + data.percentage +'%<br />';
string += 'загружено байт текущего файла: ' + data.bytesLoaded +'<br />';
string += 'загружено байт всей очереди: ' + data.allBytesLoaded +'<br />';
string += 'скорость загрузки, KB/s: ' + data.speed +'<br />';
$('#info,#info2').show();
$('#info').html(string);
},
'onComplete' : function(event, queueID, fileObj, response, data){ // Срабатывает когда файл загружен на сервер. По умолчанию файл удаляется из очереди, но мы можем и добваить свои какие-либо действия
var string = 'Загружен файл: ' + fileObj.name +'<br />';
string += 'Путь до файла: ' + fileObj.filePath +'<br />';
string += 'Размер, байт: ' + fileObj.size +'<br />';
string += 'Тип: ' + fileObj.type +'<br />';
string += 'Пришел ответ от сервера: ' + response +'<br />';
string += 'Файлов в очереди: ' + data.fileCount +'<br />';
string += 'скорость загрузки, KB/s: ' + data.speed +'<br />';

$('#info2').append('<br />Фаил ' + fileObj.name + ' загружен!<br />');

},
'onAllComplete' : function(event, data){ // Срабатывает когда все загрузки завершены
var string = 'Загружено файлов: ' + data.filesUploaded +'\n';
string += 'Ошибок: ' + data.errors +'\n';
string += 'Всего загружено kбайт: ' + data.allBytesLoaded/1024 +'\n';

$('#info,#info2').fadeOut(5000, function() { $('#info,#info2').html('');}); // Плавно прячем информационные блоки и затем очищаем их
}



}
);


});
</
script>
</
head>

<
body>
<
div id="demo">

<
h3>Загрузка файлов на сервер:</h3>
<
div id="fileQueue"></div>
<
input type="file" name="uploadify" id="uploadify" />

<
div id="info"></div>
<
div id="info2"></div>
</
div>
</
body>
</
html>


uploadify.php
Свернутый текст
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];

if(!$_REQUEST[folder]) $folder = '../uploads/'; // Если в js-части мы не определили директорию загрузки, мы можем сделать это здесь
else $folder = $_REQUEST['folder'];

$targetPath = $_SERVER['DOCUMENT_ROOT'] . $folder . '/';
$ext = preg_replace('/(?:.*)(\.{1}[a-zA-Z]{3,4})$/','$1', $_FILES['Filedata']['name']); // определяем расширение загружаемого файла
$unic_name = time().'_'.rand(0,1000).$ext;
$targetFile = str_replace('//','/',$targetPath) . $unic_name;




move_uploaded_file($tempFile,$targetFile);
echo "1"; // Отправляем ответ. Например, просто 1

}




Спустя 3 минуты, 36 секунд (28.10.2010 - 11:23) linker написал(а):
Перемещает и переименовывает эта
move_uploaded_file($tempFile,$targetFile);
Собственно генерация нового имени эта
$unic_name  = time().'_'.rand(0,1000).$ext;
Сопутствующие и способствующие эти
if(!$_REQUEST[folder]) $folder = '../uploads/';
else $folder = $_REQUEST['folder'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $folder . '/';
$ext = preg_replace('/(?:.*)(\.{1}[a-zA-Z]{3,4})$/','$1', $_FILES['Filedata']['name'])

Спустя 2 минуты, 28 секунд (28.10.2010 - 11:26) MillerLight написал(а):
Оперативно ))) Благодарю!

Спустя 2 минуты, 11 секунд (28.10.2010 - 11:28) MillerLight написал(а):
$ext это и есть конечное имя? Просто мне переменная нужня которая будет вставляться в ссылку при записи в базу и потом с помощью которой будет картинка выводиться))

Спустя 7 минут, 36 секунд (28.10.2010 - 11:36) linker написал(а):
В $ext помещается расширение файла, например, у файла myname.txt, расширением будет .txt. Конечное имя хранится в $targetFile. О чем можно судить если посмотреть на функцию move_uploaded_file($tempFile,$targetFile)

Спустя 17 минут, 6 секунд (28.10.2010 - 11:53) MillerLight написал(а):
Еще раз благодарю)))

Спустя 24 минуты (28.10.2010 - 12:17) MillerLight написал(а):
Как сделать такую же форму добавления сообщений как здесь с кнопками редактирования???

Спустя 54 минуты, 7 секунд (28.10.2010 - 13:11) linker написал(а):
Гуглишь и качаешь готовые скрипты.

Спустя 29 минут, 53 секунды (28.10.2010 - 13:41) twin написал(а):

Спустя 2 минуты, 7 секунд (28.10.2010 - 13:43) inpost написал(а):
На форуме есть раздел: "конкурсы", найди конкурс бб-декодеров, в многих представленых работах все отлично сделано.

Спустя 9 месяцев, 14 дней, 4 часа, 47 минут, 54 секунды (12.08.2011 - 18:31) deeputy написал(а):
Здавствуйте, у меня есть вопрос, когда мы убираем праметр 'folder' : '/uploads', и указываем свою папку в uploadify.php,(имя папки рандомное) то параметр '+fileObj.filePath+' ведет вникуда, как вставить этот рандомный путь перед '+fileObj.filePath+'?

Спустя 10 минут, 41 секунда (12.08.2011 - 18:41) m4a1fox написал(а):
deeputy
Насколько понял, рандомное - случайное, то есть файл закачивается в случайную папку????
Сжечь еретика!

Спустя 4 дня, 23 часа, 4 минуты, 30 секунд (17.08.2011 - 17:46) deeputy написал(а):
ну не совсем в случайную конечно же) принимаем файл во временную, создаем папку с именем которое соответствует времени загрузки файла, и перемещаем в неё наш файл и выдаем ссылку на файл в этой папке, и так каждый новый файл в свою папку, случайное только имя папки куда перемещаем, даа можно вывести в базу и потом из базы на другую страницу, но хотелось бы чтобы ссылка на файл всплывала после OnComplete, имя выдается а как путь вернуть?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.