Подскажите плиз которая строчка занимается переименовыванием картинки?
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, имя выдается а как путь вернуть?