Показать сообщение отдельно
Старый 16.06.2009, 18:47
Mr.Hyde вне форума Посмотреть профиль Отправить личное сообщение для Mr.Hyde Найти все сообщения от Mr.Hyde
  № 9  
Ответить с цитированием
Mr.Hyde

Регистрация: Jun 2009
Сообщений: 7
PHP Version 5.2.4

Код AS3:
//V_Main.fla
 
//-=-=-=-=-=-=-=-= IMPORTS =-=-=-=-=-=-=-=-
 
	import V_Utility;
 
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
//-=-=-=-=-=-=-=-= VARIABLES =-=-=-=-=-=-=-=-
 
	var myTextField:TextField;
	var cam:Camera;
	var vid:Video;
	var t:Timer = new Timer(2000);
 
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
//-=-=-=-=-=-=-=-= FUNCTIONS =-=-=-=-=-=-=-=-
 
function onCameraStatus(evt):void 
	{
		if (evt.code == "Camera.Muted")
			{
				trace ("Camera access has been denied");
			}
		if (evt.code == "Camera.Unmuted")
			{
				trace ("Camera access has been granted");
			}
	}
 
function connectCamera():void 
	{
		vid = new Video();
		vid.width = cam.width;
		vid.height = cam.height; 
		vid.attachCamera(cam);
		addChild(vid);
		t.start();
    }
 
function timerHandler(event:TimerEvent):void 
	{
		myTextField.text = "";
		myTextField.appendText("bandwidth: " + cam.bandwidth + "\n");
		myTextField.appendText("currentFPS: " + Math.round(cam.currentFPS) + "\n");
		myTextField.appendText("fps: " + cam.fps + "\n");
		myTextField.appendText("keyFrameInterval: " + cam.keyFrameInterval + "\n");
	}
 
function saveImage(evt):void
	{
	var bData:BitmapData=new BitmapData(vid.width,vid.height,false,0);
	bData.draw(vid);
	V_Utility.saveImageToServer(bData);
	}
 
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
	myTextField = new TextField();
	myTextField.x = 150;
	myTextField.y = 300;
	myTextField.background = true;
	myTextField.selectable = false;
	myTextField.autoSize = TextFieldAutoSize.LEFT;   
 
	cam = Camera.getCamera();
 
if (!cam) 
	{
		Security.showSettings(SecurityPanel.CAMERA);
	}else{
		cam.addEventListener(StatusEvent.STATUS, onCameraStatus);
		connectCamera();
	}
 
	addChild(myTextField);
	t.addEventListener(TimerEvent.TIMER, timerHandler);
 
btn_print.addEventListener(MouseEvent.CLICK, saveImage);
Код AS3:
//V_Utility.as
 
package{
		import flash.display.BitmapData;
		import flash.utils.ByteArray;
		import flash.events.*;
		import flash.net.*;
		import com.adobe.images.JPGEncoder;
 
    public class V_Utility{
          public function V_Utility(){
 
          }
 
public static function saveImageToServer(val:BitmapData):void{
			if (val!=null){
				var encoder : JPGEncoder = new JPGEncoder(90);
				var picture:ByteArray = encoder.encode(val);
				var urlRequest:URLRequest = new URLRequest();
				urlRequest.url = "saveImageToServer.php";
				urlRequest.contentType="application/octet-stream"
				urlRequest.method = URLRequestMethod.POST;
				urlRequest.data=picture;
 
 
				var urlLoader:URLLoader = new URLLoader();
				urlLoader.load(urlRequest)
			}
		}
}
}
PHP код:
<?php
 session_start
();
if (!
$_SESSION['dirname']){
     
$_SESSION['dirname'] = time();
};
echo(
$_SESSION['dirname']);
if (!
is_dir($_SESSION['dirname'])) {
    
mkdir($_SESSION['dirname']."",0700);
}

$binary file_get_contents('php://input');

if (
$binary){
$fp fopen($_SESSION['dirname']."/image.jpg",'w'); 
if(!
$fp ) { 
    
trigger_error ('error' E_USER_ERROR ); 
} else{
fputs ($fp,$binary); 
fclose ($fp);
echo(
"good save");
};

};
$f=fopen($_SESSION['dirname']."/image.jpg",'rb');
echo(
"filesize".filesize($_SESSION['dirname']."/image.jpg"));
fread($f,filesize($_SESSION['dirname']."/image.jpg"));
fclose($f);


?>
Заранее благодарю за помощь и проявленное вами терпение