php采集360看,在PHP中自动检测360自然的图像

我正在渲染如下的属性详细信息页面(可访问

Here)

5f0ecdc092086954b2ae63c1091da80a.png

我有一个图像滑块和一个360图像查看器.目前,用户手动上传两种类型的图像,即来自一个界面的纯图像和来自其他界面的360图像.我检查属性是否有360个图像并使用全景查看器显示它们.

我使用以下Controller上传360图像,类似于上传普通图像.

public function upload_360_images()

{

if($this->session->userdata['id'] && $this->session->userdata['type']=='user')

{

if($_FILES)

{

if(isset($_FILES['files'])){

$data['errors']= array();

$extensions = array("jpeg","jpg","png");

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){

$file_name = $key.$_FILES['files']['name'][$key];

$file_size =$_FILES['files']['size'][$key];

$file_tmp =$_FILES['files']['tmp_name'][$key];

$file_type=$_FILES['files']['type'][$key];

/*$file_ext=explode('.',$_FILES['image']['name'][$key]) ;

$file_ext=end($file_ext);*/

$i=1;

if($file_size > 7097152){

$data['errors'][$i]='File '.$i.' size must be less than 7 MB';

$i++;

}

$desired_dir="uploads";

if(empty($data['errors'])==true){

if(is_dir($desired_dir)==false){

mkdir("$desired_dir", 0700); // Create directory if it does not exist

}

if(is_dir("$desired_dir/".$file_name)==false){

move_uploaded_file($file_tmp,"uploads/".$file_name);

$this->post_model->add360Image('property_360_images',$file_name,$this->uri->segment(3));

}else{ //rename the file if another one exist

$new_dir="uploads/".$file_name.time();

rename($file_tmp,$new_dir) ;

}

}else{

$data['contact']=$this->admin_model->getContactDetails();

$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));

$data['title']='My Profile Image';

$this->load->view('site/static/head',$data);

$this->load->view('site/static/header');

$this->load->view('site/content/upload_360_images');

$this->load->view('site/static/footer');

$this->load->view('site/static/footer_links');

}

}

if(empty($data['errors']))

{

redirect(base_url().'dashboard');

}

else

{

$data['contact']=$this->admin_model->getContactDetails();

$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));

$data['title']='My Profile Image';

$this->load->view('site/static/head',$data);

$this->load->view('site/static/header');

$this->load->view('site/content/upload_360_images');

$this->load->view('site/static/footer');

$this->load->view('site/static/footer_links');

}

}

}

else

{

$data['contact']=$this->admin_model->getContactDetails();

$data['images']=$this->post_model->getProperty360Images($this->uri->segment(3));

$data['title']='My Profile Image';

$this->load->view('site/static/head',$data);

$this->load->view('site/static/header');

$this->load->view('site/content/upload_360_images');

$this->load->view('site/static/footer');

$this->load->view('site/static/footer_links');

}

}

else

{

redirect(base_url().'user/login');

}

}

请忽略长码,这段代码来自一个制作,所以我必须提出很多检查和条件.

问题

现在我的雇主要我使用单一界面上传普通和360图像,并使用一些检测算法检测图像的性质,然后在我用于静态/普通图像的同一图像滑块中显示图像.

研究

我在Stackoverflow上阅读了this线程,这对于使用EXIF工具读取文件的元数据有一点意义,但这使得这个过程非常简单.

我希望自动化图像读取在我的php图像上传代码中使用它,或者将该检测算法写入一个函数中,该函数将图像名称作为参数并返回图像类型为plain或360.基于该返回,我可以轻松地呈现视图.所以我的问题是如何在PHP中进行检测?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值