Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.01.2011, 13:05
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 1  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
По умолчанию Замена имени у загружаемого на сервер файла

Парни такое дело. Нарисовал простенький аплоадер на сервак
Код AS1/AS2:
import flash.net.FileReference;//импортирую класс
var perem:FileReference = new FileReference();//создаю его экземпляр
var slush:Object = new Object();//слушатель
perem.addListener(slush);..аттачу слушатель
browse_btn.clickHandler = function()//открываем папку
{
	perem.browse([{description:"JPEGs", extension:"*.JPG;*.jpg"}]);
};
upload_btn.clickHandler = function()//собсно грузим картинко
{
	perem.upload("upload.php");
};
Ничего сложного все просто.
Пэхапэшник такой же несложный
PHP код:
$filename $_FILES['Filedata']['name']; //имя файла
$filetmpname $_FILES['Filedata']['tmp_name'];    //адрес tmp
$fileType $_FILES["Filedata"]["type"]; //тип файла
$fileSizeMB = ($_FILES["Filedata"]["size"] / 1024 1000); //размер файла
move_uploaded_file($_FILES['Filedata']['tmp_name'], "images/".$filename); //сохраняем файл в папку images 
Все работает красиво. Но нужно отсылать пэхапэшнику не родное имя файла, а то, которое я введу. Я даже не знаю с какой стороны подойти к этому вопроссу. Слышал что у FileReference есть свойство имени, но только для чтения. Парни помогите решить проблему...

Старый 20.01.2011, 13:13
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В AS:
Код AS1/AS2:
var fileneme:String = 'image1';
 
upload_btn.clickHandler = function()//собсно грузим картинко
{
	perem.upload('upload.php?filename=' + fileneme);
};
В PHP:
PHP код:
$filename $_GET['filename']; //имя файла
...
move_uploaded_file($_FILES['Filedata']['tmp_name'], "images/".$filename); //сохраняем файл в папку images 

А лучше POST
Код AS1/AS2:
upload_btn.clickHandler = function()//собсно грузим картинко
{
	perem.postData = file_name.text ; //допустим, вы ввели желаемое имя в поле file_name (не про забыть валидацию!)
	perem.upload('upload.php');
};
PHP код:
$filename $_POST['filename']; //имя файла 
...
move_uploaded_file($_FILES['Filedata']['tmp_name'], "images/".$filename); //сохраняем файл в папку images 
Во втором варианте используем свойство FileReference.postData.
Я правда GET-ом такое делал последние разы, но ИМХО, POST-ом лучше.

И самое главное, по поводу "Слышал что...". Если что-то нужно, используйте хелп, я например, туда всегда хожу, если необходимость и ощущение, что нужное свойство и метод у класса есть. Очень много хорошего там найдете, включая примеры.
__________________
Идите первым!


Последний раз редактировалось mooncar; 20.01.2011 в 13:29.
Старый 20.01.2011, 13:53
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 3  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Чет не то не то не работает, где то я чето накосячил наверно.
Можно вас попросить глянуть код, и еще вопрос, чем post лучше?
Вложения
Тип файла: rar www.rar (98.8 Кб, 55 просмотров)

Старый 20.01.2011, 17:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
FLA для CS3 сохраните.
__________________
Идите первым!

Старый 20.01.2011, 18:38
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 5  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
А каким образом это влияет? я же в любом случае компилю проект

Старый 20.01.2011, 19:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Это влияет на то, что не у всех файл открывается, значит помочь вам может меньшее количество людей.
У меня старше CS3 файлы не открываются.
__________________
Идите первым!

Старый 20.01.2011, 20:03
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 7  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Ой простите не понял вопросса)) персохранил
атож я уже стал переосмысливать весь свой подход к флешу)))
Вложения
Тип файла: rar www.rar (99.0 Кб, 48 просмотров)

Старый 20.01.2011, 21:03
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Ошибся я там. Надо, например, так:
Код AS1/AS2:
upload_btn.clickHandler = function()
{
	perem.postData = 'filename=' + file_name.text  + '.jpg'; //собственно имя переменной для POST не было указано
	perem.upload('upload.php');
};
2. Проверьте также права доступа у директории на запись.

С учетом (1 - 2) все должно заработать.

POST, например, хорош тем, что не через адресную строку передаются данные.
__________________
Идите первым!


Последний раз редактировалось mooncar; 20.01.2011 в 21:12.
Старый 20.01.2011, 21:24
Mulin вне форума Посмотреть профиль Отправить личное сообщение для Mulin Найти все сообщения от Mulin
  № 9  
Ответить с цитированием
Mulin
 
Аватар для Mulin

Регистрация: Aug 2010
Сообщений: 107
Ой спасибо, дружище, выручили в очередной раз. Премного благодарен

Добавлено через 2 минуты
В случае с не POST это небезопасно?

Старый 20.01.2011, 21:34
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Данные отловить можно и POST, что и делается, просто так целесообразней передавать данные. Через адресную строку передать несколько страниц текста, например, как-то не очень.
POST не кэшируется.
Почитайте материалы, в чем отличия, я привел не самые основные нюансы.
__________________
Идите первым!


Последний раз редактировалось mooncar; 20.01.2011 в 21:37.
Создать новую тему Ответ Часовой пояс GMT +4, время: 17:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
filereference , загрузка , замена , имя файла , сервер
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.