Как обновить изображение в папке и путь к изображению в MySQL в CakePHP 1,3 - PullRequest
0 голосов
/ 22 сентября 2019

i Используемая функция обновления в контроллере выглядит следующим образом:

функция обновления ($ application_id = null) {
$ applicationDocs = $ this-> ApplicationDoc-> find ('all', array ('условие '=> массив (' ApplicationDoc.application_id '=> $ this-> Session-> read (' applicationId '))));$ application = $ this-> ApplicationDoc-> Application-> find ('список');$ applicationTypes = $ this-> ApplicationDoc-> ApplicationType-> find ('список');$ this-> set (compact ('application', 'applicationTypes', 'applicationDocs'));

    if(!empty($this->data))
    {       
        $this->data['ApplicationDoc']['application_id']=$this->Session->read('applicationId');

        if(!empty($this->data['ApplicationDoc']['upload']['name']))
        {
            $file = $this->data['ApplicationDoc']['upload']; //put the data into a var for easy use
            $ext = substr(strtolower(strrchr($file['name'], '.')), 1); //get the extension
            $arr_ext = array('jpg', 'jpeg', 'gif','png','pdf'); //set allowed extensions
            $file['name'] = $this->data['ApplicationDoc']['application_type_id'].'_'.time().'_'.$file['name'];
            if(in_array($ext, $arr_ext))
            {
                if(move_uploaded_file($file['tmp_name'], WWW_ROOT . 'img/uploads/' . $file['name']))
                {
                $application_id=$_POST['application_id'];
                $application_type_id=$this->data['ApplicationDoc']['application_type_id'];
                $this->data['ApplicationDoc']['doc_path'] = $file['name'];
                $this->data['ApplicationDoc']['application_type_id']= $this->data['ApplicationDoc']['application_type_id'];
                $this->data['ApplicationDoc']['application_id']= $application_id;

                $conditions = array(
                    'ApplicationDoc.application_id' => $application_id,
                    'ApplicationDoc.application_type_id' => $this->data['ApplicationDoc']['application_type_id']
                );


                $conditions2 = array(
                    'ApplicationDoc.application_id' => $application_id,

                );
                if ($this->ApplicationDoc->hasAny($conditions))
                {   
        echo 'condition '; // ***i want to update under this conndition***

                //$this->ApplicationDoc->updateAll(array("application_id"=>$application_id,"application_type_id"=>$application_type_id,"doc_path"=>$file),array("application_id"=>$application_id ,"application_type_id"=>$application_type_id));
                }
                elseif($this->ApplicationDoc->hasAny($conditions2))
                {   

                if($this->ApplicationDoc->save($this->data)) 
                {

                $this->Session->setFlash(__('The application doc has been saved', true));
                return $this->redirect(['controller' => 'Application_docs', 'action' => 'update']);

                } 
                else 
                {
                    $this->Session->setFlash(__('The application doc could not be saved. Please, try again.', true));
                }
                }
                }

            }
                else
                {
                    $this->Session->setFlash(__('The application doc could not be saved. Please Please Please, try again.', true));
                }
        }
    }
}

Заранее спасибо

...