【发布时间】:2012-11-15 03:52:29
【问题描述】:
我有一个捕捉图像的闪存代码。这是代码:
<object id="main" width="300" height="400" align="middle" type="application/x-shockwave-flash" name="main" data="<?php echo JS_PATH;?>bin-debug/dev.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#ffffff">
<param name="allowscriptaccess" value="sameDomain">
<param name="allowfullscreen" value="true">
<param name="flashvars" value="<?php echo HTTP_PATH.DS?>user/changeprofilepic_byweb">
</object>
在上面的代码中:
<param name="flashvars" value="<?php echo HTTP_PATH.DS?>user/changeprofilepic_byweb">
value 参数包含控制器的路径,其中函数 changeprofielpic_byweb 包含更新配置文件图像的代码。我无法更新图像。我哪里错了?我的闪存代码是正确的吗?我的闪存代码工作正常,它可以捕获图像,但它没有存储到数据库中。这是控制器的代码:
function changeprofilepic_byweb()
{
echo "<script> alert('In to the function'); </script>";
$sess_data = $this->session->userdata('logged_in');
$this->load->library('photoslibrary');
$this->load->Model('usersocialprofile');
$upload_path = COMM_USER_IMAGE_PATH.$sess_data['user_id'];
if(!is_dir($upload_path))
{
umask(0);
@mkdir($upload_path,077);
}
$db_userprofile = $this->usersocialprofile->getThumb($sess_data['user_id']);
if(is_file(COMM_USER_IMAGE_PATH.$sess_data['user_id'].DS.$db_userprofile[0]->imageTitle))
{
$this->usersocialprofile->unlinkImage($db_userprofile[0],PROFILE_IMAGE_THUMB);
}
$this->load->helper("Image");
$fileImage="";
$data['error']="";
$fileext='jpeg';
$timestamp=md5(time());
$filename="photo".$timestamp.".".$fileext;
$filesize = floatval((filesize($filename)/1024)/1024); // bytes to MB
list($width, $height, $type, $attr) = getimagesize($filename);
$req_size=explode(",",PROFILE_IMAGE_THUMB);
$req_size=explode("x",$req_size[0]);
if($width<$req_size[0] || $height<$req_size[1])
{
$data['error']="Image required minimum ".$req_size[0]."x".$req_size[1]." pixels";
}else {
$data['error']="";
$newthumb_path = "thumb".DS;
if(!is_dir($newthumb_path)) {
umask(0);
@mkdir($newthumb_path,0777);
}
$fileImage=imageresize($filename,$filetempname,PROFILE_IMAGE_THUMB,$upload_path.DS,false,true,true,$newthumb_path);
$result=$this->usersocialprofile->updateImage($sess_data['user_id'] , $fileImage);
}
}
我认为该函数不是由 flash 代码调用的。我没有收到任何错误。只是显示捕获的图像,但文件夹中没有更新。
【问题讨论】:
-
好吧,那么第一步就是调试发生了什么。它在哪一步失败? SWF 来自哪里,是谁开发的?
-
我的一个 Flash 设计师开发了 Flash,在控制器中第一步它没有显示任何内容。
-
那么您可能需要与 Flash 设计师讨论为什么它不起作用。不知道我们可以如何提供帮助...
-
php端有调试过,是不是flash完全错了?
-
不知道。这可能是 Flash 和 PHP 中的问题。您可以在 PHP 中抛出消息以帮助调试脚本,但您需要 Flash 电影来向您显示消息。 AFAIK,当从 Flash 电影请求时,没有简单的方法来获取 PHP 输出 - Flash 电影必须主动向您展示它。
标签: php flash codeigniter webcam