我有一個Flash應用程序捕獲圖像通過網絡攝像頭,並通過save.php(下)將其存儲在文件中。現在我遇到的問題是,當加載save.php時,我無法訪問我的會話變量。調用會話變量時是否需要使用其他方法?無法調用訪問會話變量
<?php
include 'session.php';
sec_session_start();
$userid=$_SESSION['user_id'];
$w = 300;
$h = 400;
$img = imagecreatetruecolor($w, $h);
imagefill($img, 0, 0, 0xFFFFFF);
$rows = 0;
$cols = 0;
for($rows = 0; $rows < $h; $rows++){
$c_row = explode(",", $_POST['px' . $rows]);
for($cols = 0; $cols < $w; $cols++){
$value = $c_row[$cols];
if($value != ""){
$hex = $value;
while(strlen($hex) < 6){
$hex = "0" . $hex;
}
$r = hexdec(substr($hex, 0, 2));
$g = hexdec(substr($hex, 2, 2));
$b = hexdec(substr($hex, 4, 2));
$test = imagecolorallocate($img, $r, $g, $b);
imagesetpixel($img, $cols, $rows, $test);
}
}
}
if(isset($userid)){
$fp = fopen("name.jpg", "w");
ob_start();
imagejpeg($img, "", 90);
$img = ob_get_contents();
ob_end_clean();
fwrite($fp, $img);
echo "name.jpg";
echo $userid;
exit;
}
?>
這session.php文件
function sec_session_start() {
$session_name = 'sec_session_id';
$secure = true;
$httponly = true;
ini_set('session.use_only_cookies', 1);
$cookieParams = session_get_cookie_params();
$cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"],
$secure, $httponly);
session_name($session_name);
session_start(); // Start the php session
session_regenerate_id(true);
}
數據從閃存發送到save.php通過
load_var.sendAndLoad("save.php", result_lv, "POST");
感謝您對您的時間。
UPDATE
好了,現在我想通過會話變量閃爍,在save.php檢索。這是如何使用flsahvars的。
var flashvars = {
phpsessionid:<?php print $user_id;?>,
};
var cam = new SWFObject("webcamvid.swf", "player_mc", "400", "500", "8",
"#336699",flashvars);
cam.addParam("quality", "high");
cam.addParam("wmode", "transparent");
cam.addParam("pluginurl", "http://www.macromedia.com/go/getflashplayer");
cam.addParam("pluginspage", "http://www.macromedia.com/go/getflashplayer");
<!--so.addParam("allowFullScreen", "true"); -->
cam.addParam("salign", "t");
cam.write("takepic");
這是用來檢索Flash應用程序的FlashVars:
function getFlashVars():Object {
return Object(LoaderInfo(this.loaderInfo).parameters);
}
var _var1=getFlashVars().phpsessionid;
,然後發送。
_var1.sendAndLoad("save.php", PHPSESSNID, "POST");
請注意閃光燈還具備
load_var.sendAndLoad("save.php", result_lv, "POST");
這是另一個變量。
我無法檢索save.php中的_var1。任何想法如何我可以使這項工作謝謝
您需要傳遞會話ID與來自Flash應用程序的請求。即設置cookie或將其傳遞到字段中,然後在使用會話啓動之前,可以使用'session_id($ ID_HERE);'和/或'$ _COOKIE'激活它。 – 2013-04-30 13:08:01
嗯,一邊尋找最簡單的解決方案,我注意到有一個無與倫比的)附近$ httponly。它是否被認爲是意外刪除的函數調用的一部分? – 2013-04-30 13:13:48
session_get_cookie_params()行之後session.php中發生了什麼?那是有效的語法嗎? – 2013-04-30 13:14:24