Показать сообщение отдельно
Старый 19.06.2008, 16:56
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
flash33: Зачем? Это ж столько лишней инфы посылать?

Вот пример ПХП скрипта сохраняющего картинку (PNG)
Код:
<?php
session_start();
if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )){
	if(isset ($_SESSION['I'])) {
		$i = $_SESSION['I'] + 1;
		$_SESSION['I'] = $i;
	} else {
		$i = $_SESSION['I'] = 1;
	}
	$im = $GLOBALS["HTTP_RAW_POST_DATA"];
	$add = $i;
	if ($add < 10) {
		$add = "000" . $add;
	} else if ($add >= 10 && $add < 100) {
		$add = "00" . $add;
	}
	else if ($add >= 100 && $add < 1000) {
		$add = "0" . $add;
	}
	$filename = "pic" . $add . ".png";
	$fullFilePath = "uploads/" . $filename;
		
	$handle = fopen($fullFilePath, "w");
	
	fwrite($handle, $im);
	fclose($handle);
	
	echo "a=YES";
	exit();
} else {
	echo "a=NO";
	exit();
}
?>
Вот пример отпавки из флеша.
Код:
package phpconnect 
{
	
	/**
	* ...
	* @author wvxvw
	*/
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.IOErrorEvent;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLLoader;
	import flash.net.URLRequestHeader;
	import flash.net.URLRequest;
	import flash.net.URLRequestMethod;
	import flash.net.URLVariables;
	import flash.external.ExternalInterface;
	import flash.utils.ByteArray;
	import utilities.RenderEvent;
	import utilities.PlayerGenericEvent;
	
	import player_internal;
	
	public class Sender extends EventDispatcher
	{
		use namespace player_internal;
		
		internal var domain:String = 'save_png.php';
		internal var loader:URLLoader;
		internal var request:URLRequest;
		internal var header:URLRequestHeader;
		internal var vars1:URLVariables;
		
		public function Sender() 
		{
			loader = new URLLoader();
			loader.dataFormat = URLLoaderDataFormat.BINARY;
			request = new URLRequest(domain);
			request.method = URLRequestMethod.POST;
			header = new URLRequestHeader('Content-Type', 'application/octet-stream');
			request.requestHeaders.push(header);
			
			loader.addEventListener(Event.COMPLETE, handleComplete);
			loader.addEventListener(IOErrorEvent.IO_ERROR, handleError);
		}
		player_internal function send(ba:ByteArray):void
		{
			request.data = ba;
			loader.load(request);
		}
		player_internal function handleComplete(evt:Event):void
		{
			var rvars:URLVariables = new URLVariables(evt.target.data);
			dispatchEvent(new RenderEvent(RenderEvent.RENDER, true));
		}
		player_internal function handleError(evt:IOErrorEvent):void
		{
			ExternalInterface.call('alert', 'FAILED!\r'+evt);
			//dispatchEvent(new PlayerGenericEvent(EventList.GENERIC, 1));
		}
	}
	
}
Сорри, я не редактировал ничего, просто копипаст из работающего проекта, но, вроде ничего особо лишнего...
__________________
Hell is the possibility of sanity