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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

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

Регистрация: Jul 2007
Сообщений: 25
По умолчанию Upload (AS+PHP) с изменением MAX_FILE_SIZE

В AS уже не новичек... Но... Бывает и на старуху проруха

Суть проблемы:
Код в AS - не проблема, да и с PHP тоже все в норме, вот только мой провайдер, к сожалению, не дает возможность (читай - не хочет) изменять параметры переменной MAX_FILE_SIZE, установив ее значение в 100к.
Используя PHP uploader эту проблему обхожу на раз, а вот как завязать форму с указанной переменной и передачу параметров из AS не допру никак... Даже стыдно...
Подскажите (желательно черкануть пару строк) с PHP файликом...
Перелапатил форум - ничего по этому вопросу не нашел...

Заранее благодарен.

Старый 24.07.2007, 13:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Причем тут AS? Если через какой-то там аплоадер залить удается, то надо смотреть, какие он выставил там параметры для MAX_FILE_SIZE.

Старый 24.07.2007, 13:37
AlexMik вне форума Посмотреть профиль Отправить личное сообщение для AlexMik Найти все сообщения от AlexMik
  № 3  
Ответить с цитированием
AlexMik

Регистрация: Jul 2007
Сообщений: 25
Да AS тут не при чем! Я же написАл об этом... Проблема в РНР файле (upload.php) который должен установить размер передаваемого файла. Если есть идеи или мысли покажите пример РАБОТАЮЩЕГО из под SWF PHP скрипта. У меня НЕ ПОЛУЧАЕТСЯ это сделать.
2All: Господа, флейм это конечно хорошо... Но куда лучше просто несколько строк PHP файла...

Вот код самого аплодера (из хелпа собственно) с небольшой корректировкой:
Код:
import flash.net.FileReference;

var allTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)";
imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png";
allTypes.push(imageTypes);

var textTypes:Object = new Object();
textTypes.description = "Text Files (*.txt, *.rtf)";
textTypes.extension = "*.txt;*.rtf";
allTypes.push(textTypes);
var listener:Object = new Object(); 
createTextField("text_field_name",getNextHighestDepth(),10,10,400,20);
	with (text_field_name)
	{
		multiline = false;
		selectable = false;
		text = "";
	};

listener.onSelect = function(file:FileReference):Void {
  //  trace("onSelect: " + file.name);
    if(!file.upload("http://www.test.ru/upload.php")) {
       // trace("Upload dialog failed to open.");
    }
}
listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void 
{
	text_field_name.text="onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal;
    
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
fileRef.browse(allTypes);
Это естественно не работает.... (upload.php)
Код:
<?php
	$uploaddir = 'files/';
	if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploaddir.$_FILES['Filedata']['name']))
	{
		echo "Данные успешно добавлены в файловую базу.";
	}else
	{
		echo "НИХРЕНА!";
	}
?>
Нашел в инете на немецком форуме... но тоже не работает... (upload.php)
Код:
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="max_file_size" value="50000000">
    <input name="Filedata" type="file" size="20">
    <input type="submit" value="upload" name="btnupload">
</form>
<?php
if ($_REQUEST['btnupload'])
{
	$uploaddir = 'files/';
	if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploaddir.$_FILES['Filedata']['name']))
	{
		echo "Данные успешно добавлены в файловую базу.";
	}else
	{
		echo "НИХРЕНА!";
	}
}
?>


Последний раз редактировалось AlexMik; 24.07.2007 в 13:54.
Старый 24.07.2007, 13:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
AlexMik, отредактируйте свой пост и оформите код тегами [code][/code].

Если это все же о php вопрос, то туда и переезжаем.

Для начала неплохо было бы привести код того самого php uploader, а не код скрипта для флеша (хотя он тоже нелишний).

Старый 24.07.2007, 16:23
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 5  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
Честно, ни разу не работал с upload'ом во флэше, но я вообще не пойму, как можно обойти переменную MAX_FILE_SIZE? Исправьте меня, если я не правильно понимаю алгоритм загрузки файла на сервер:
1. Выбираем файлик
2. файл помещается в POST-ответ клиента
3. сервер получает POST от клиента и разбирает его
(примерно тут же происходит проверка рвзмеров файла и т.п.)
4. Файл из POST помещается во временную директорию на сервере
5. скрипт php забирает его оттуда и помещает куда надо (в $uploaddir)
В каком из пунктов возникает проблема?
P.S. фишка с
Код:
<input type="hidden" name="max_file_size" value="50000000">
работает только на старых серверах с включенным register_globals. Сейчас таких серверов нет (ни разу не встречал)

Старый 24.07.2007, 16:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Например, с помощью ini_set…

Старый 25.07.2007, 00:06
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 7  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
ini_set - еще один мега-редкий способ, работающий только при неправильной настройке сервера, запущенного не в защищенном режиме.

Старый 25.07.2007, 02:04
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну, как бы, он в общем-то работает. Я все никак не дождусь кода того самого аплоадера, о котором говорилось в первом посте. Если он работает, то используя его код, можно поправить скрипт для флеша. Но, видимо, автору темы это уже не надо.

Старый 25.07.2007, 02:14
Dr.OH вне форума Посмотреть профиль Отправить личное сообщение для Dr.OH Найти все сообщения от Dr.OH
  № 9  
Ответить с цитированием
Dr.OH

Регистрация: Aug 2003
Сообщений: 299
Отправить сообщение для Dr.OH с помощью ICQ
cудя по всему вот это:
Код:
<?php
	$uploaddir = 'files/';
	if (move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploaddir.$_FILES['Filedata']['name']))
	{
		echo "Данные успешно добавлены в файловую базу.";
	}else
	{
		echo "НИХРЕНА!";
	}
?>
собственно и есть тот самый таинственный "PHP uploader" - этот код тупо копирует в папку загруженный файл и все )

Старый 25.07.2007, 10:05
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да нет, этот заточен под Flash.

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

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

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


 


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


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