ホームページ  >  記事  >  バックエンド開発  >  thinkphp3.2のuploadifyアップロードGUIDはアップロードで1回だけ呼び出されます。これを実現するにはどうすればよいですか?

thinkphp3.2のuploadifyアップロードGUIDはアップロードで1回だけ呼び出されます。これを実現するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 12:10:081349ブラウズ

thinkphp3.2のuploadifyアップロードGUIDはアップロードで1回だけ呼び出されます。これを実現するにはどうすればよいですか?
私が実現したいのは、写真をアップロードしてデータベースに書き込んでトークンを自動的に生成するuploadifyです。

アップロードクラスは、結果が挿入されるときにthinkphp独自のUploadクラスを使用します。
以下のように



アップロード後、次のように処理されます

  public function  uploadify(){<br /><br />        if(!empty($_FILES)){<br /><br />            $config =array(<br />                'maxSize' => 1024000,// 附件大小<br />                'savePath'=> "attachment/picture/uploadify/",//附件保存路径<br />                'saveName'=>array('uniqid',''),//附件保存名称<br />                'exts'=>array('jpg','jpeg','png','gif','rar','zip'),//附件类型<br />                'autoSub'=>true,//开启子目录保存<br />                'subName'=>array('date','Ymd')//子目录命名规则<br /><br />            );<br /><br />            $upload=new \Think\Upload($config);<br /><br /><br /><br />            $files_upload=$upload->upload();<br /><br /><br />            if($files_upload){<br />                foreach($files_upload as $file){<br /><br />//                 $info= $files_upload['Filedate']['savepath'].$files_upload['Filedata']['savename'];<br />//                 上传后文件名<br />                    $savename=$file['savename'];<br />//                 上传前文件名<br />                    $name=$file['name'];<br />//                 上传文件类型<br />                    $type=$file['ext'];<br />//                 上传文件大小 k<br />                    $size=$file['size'];<br />//                 上传目录<br />                    $path=$file['savepath'].$file['subname'].$file['savename'];<br />                  <br />                    $attachment=D('picture_attachment');<br /><br />                    $date['creattime']=date('Y-m-d H:i:s',time());<br />                    $date['pictureurl']=$path;<br />                    $date['oldname']=$name;<br />                    $date['newname']=$savename;<br />                    $date['picturesize']=$size;<br />                    $date['picturetype']=$type;<br />                    $date['pictureid'] =$this->guid();// token guid<br /><br /><br /><br /><br /><br />                   if( $attachment->create($date)){<br />                        $attachment->add();<br />                        session('guid',$date['pictureid']);<br />                   /*   返回给前台JS调用*/<br />                       echo $path ;<br /><br />                   }<br />                    else{<br />                        unlink($path.$type);<br />                        session("FilesInFo",null);<br />                    }<br /><br /><br /><br /><br />                }<br /><br /><br /> ;<br /><br />            }else{<br />                /*返回报错信息*/<br />                $info=$this->error($upload->getError(),U('picture/add'),30);<br />                echo $info;<br />            }<br /><br /><br /><br />        }<br />        else{<br />            echo '上传文件为空';<br />        }<br />// end<br /><br /><br />    }


このようにして、アップロードされた各ファイルは反復処理時に 1 回生成されます $date['pictureid'] =$this->guid() を 1 回だけ呼び出すにはどうすればよいですか?
このようにして、複数の写真のトークンをguid を使用しても同じです~ TP3.2 に詳しい方、アドバイスをお願いします ~ ありがとうございます
-----解決策のアイデア----- -----------------
こういうことですか? $date['pictureid'] =$this->guid();// トークン guid
ループ内で実行すると、当然毎回異なります
ループの前に置きます、一度だけ実行されるだけではありませんか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。