当前位置:Gxlcms > PHP教程 > thinkphp3.2uploadify上传guid在一次上传中只调用一次怎么实现

thinkphp3.2uploadify上传guid在一次上传中只调用一次怎么实现

时间:2021-07-01 10:21:17 帮助过:17人阅读

thinkphp3.2 uploadify上传 guid在一次上传中只调用一次 如何实现?
我想实现的是uploadify上传图片 写入数据库里 自动生成个token 就想到了guid

上传类用的就是thinkphp本身的 Upload类 结果插入到数据库发现 每个图片都不一样
如下图这样



uploadyify上传后是这样处理的
  public function  uploadify(){

if(!empty($_FILES)){

$config =array(
'maxSize' => 1024000,// 附件大小
'savePath'=> "attachment/picture/uploadify/",//附件保存路径
'saveName'=>array('uniqid',''),//附件保存名称
'exts'=>array('jpg','jpeg','png','gif','rar','zip'),//附件类型
'autoSub'=>true,//开启子目录保存
'subName'=>array('date','Ymd')//子目录命名规则

);

$upload=new \Think\Upload($config);



$files_upload=$upload->upload();


if($files_upload){
foreach($files_upload as $file){

// $info= $files_upload['Filedate']['savepath'].$files_upload['Filedata']['savename'];
// 上传后文件名
$savename=$file['savename'];
// 上传前文件名
$name=$file['name'];
// 上传文件类型
$type=$file['ext'];
// 上传文件大小 k
$size=$file['size'];
// 上传目录
$path=$file['savepath'].$file['subname'].$file['savename'];

$attachment=D('picture_attachment');

$date['creattime']=date('Y-m-d H:i:s',time());
$date['pictureurl']=$path;
$date['oldname']=$name;
$date['newname']=$savename;
$date['picturesize']=$size;
$date['picturetype']=$type;
$date['pictureid'] =$this->guid();// token guid





if( $attachment->create($date)){
$attachment->add();
session('guid',$date['pictureid']);
/* 返回给前台JS调用*/
echo $path ;

}
else{
unlink($path.$type);
session("FilesInFo",null);
}




}


;

}else{
/*返回报错信息*/
$info=$this->error($upload->getError(),U('picture/add'),30);
echo $info;
}



}
else{
echo '上传文件为空';
}
// end


}


这样就是遍历上传的文件时候 都生成一次调用 $date['pictureid'] =$this->guid() 这个如何只执行一次
这样guid多图的 token就一样了~ 求大神指点 具体怎么做啊 麻烦熟悉TP3.2的 大神帮忙了 ~谢谢
------解决思路----------------------
是指这个吗?$date['pictureid'] =$this->guid();// token guid
你在循环里执行,自然每次不一样
你把它放到循环前面去,不就只执行一次了吗?

人气教程排行