Показать сообщение отдельно
Старый 31.12.2009, 17:42
Beckie вне форума Посмотреть профиль Отправить личное сообщение для Beckie Найти все сообщения от Beckie
  № 1  
Ответить с цитированием
Beckie

Регистрация: Dec 2009
Сообщений: 5
По умолчанию Как принять данные от PHP в Actionscript 2.0

Ситуация следующая:

Происходит загрузка фото, фото переименовывается в уникальное название.

Мне нужно вернуть ссылку на это фото скрипту actionscript 2.0

Вот actionscript:

Код AS1/AS2:
import flash.net.FileReferenceList;
import flash.net.FileReference;
 
 
 
var fileTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Images (*.jpg, *.jpeg, *.gif, *.png)";
imageTypes.extension = "*.jpg; *.jpeg; *.gif; *.png";
fileTypes.push(imageTypes);
 
 
 
var fileListener:Object = new Object();
var btnListener:Object = new Object();
 
 
 
btnListener.click = function(eventObj:Object)
{
	var fileRef:FileReferenceList = new FileReferenceList();
	fileRef.addListener(fileListener);
	fileRef.browse(fileTypes);
}
 
uploadButton.addEventListener("click", btnListener);
 
 
 
 
 
fileListener.onCancel = function(file:FileReference):Void
{
    resultsTxtField.text += "File Upload Cancelled\n";
}
 
 
 
 
 
fileListener.onSelect = function(fileRefList:FileReferenceList):Void
{
	var list:Array = fileRefList.fileList;
	var item:FileReference;
 
	if(list.length > 5)
	{
	getURL("javascript: limit_reached();");
	return;
	}
 
 
    for(var i:Number = 0; i < list.length; i++) {
        item = list[i];
        trace("name: " + item.name);
        trace(item.addListener(this));
 
		resultsTxtField.text += "File Selected: " + item.name + "\n";
 
		if(!item.upload("http://localhost/upload.php"))
		{
			resultsTxtField.text += "Upload dialog failed to open.\n";
		}		
    }
}
 
 
 
 
 
 
fileListener.onOpen = function(file:FileReference):Void
{
    resultsTxtField.text += "File Opened: " + file.name + "\n";
}
 
 
 
 
 
fileListener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void
{
	resultsTxtField.text += "Loading Progess: bytesLoaded: " + bytesLoaded + ", bytesTotal: " + bytesTotal + "\n";
	getURL("javascript: bytes_total=" + bytesTotal + "; bytes_loaded=" + bytesLoaded + "; file_name='" + file.name + "'; files_process();");
}
 
 
 
 
 
fileListener.onComplete = function(file:FileReference):Void
{
    resultsTxtField.text += "File Upload Complete: " + file.name + "\n";
	getURL("javascript: completed_file='" + file.name + " - uploaded!'; completed();");
}
Дописывать код видимо надо тут fileListener.onComplete

Я так понимаю, что можно принять ссылку на фото в виде строки, но как принять я не знаю.

Можете на примере показать, какая там функция принятия в переменную, строку от PHP.

Заранее спасибо.

Добавлено через 32 часа 27 минут
Код AS1/AS2:
var photos:LoadVars = new LoadVars();
photos.load("http://localhost/upload.php?gtfo=1");	
getURL("javascript:pnum=" + photos.uploaded + ";photo_num();");
В php:
PHP код:
if(isset($_GET['gtfo'])){echo "p_counter=9&uploaded=99";} 
pnum в firebug-e пишет undefined

Где я ошибаюсь?

Добавлено через 45 часов 46 минут
Ладно, решил проблему с помощью Сессий.

Но теперь осталась последняя задача. Запретить загрузку одинаковых фото.

Но увидеть простой пример работы load & sendandload в actionscripte не помешало бы.

Передавать названия файлов, привязывая их к флэш файлу будет как-то не правильным помоему. Какой другой способ?

Тем более, там ограничение на привязку, это же GET все таки помоему.


Последний раз редактировалось Beckie; 01.01.2010 в 14:16.