public function actionUpload() { // $user_id = $_POST['user_id']; // $folder="data/".$user_id.'/'; //to do $polzovatel_id = ApiGlobals::getPolzovatelId(); if (!$polzovatel_id) { throw new \Exception(); } $folder = "data/" . $polzovatel_id . '/'; $input_name = 'load_file'; // var_dump($_FILES);die(); if (!is_dir($folder)) { mkdir($folder, 0750, true); } if ($uploads = $_FILES[$input_name]) { //foreach($uploads['name'] as $upload_id=>$val){ if ($uploads['error'] == 0) { $file_ext = ApiGlobals::get_file_ext($uploads['name']); $fname = md5(time() . '_' . ApiGlobals::translit($uploads['name'])) . '.' . $file_ext; //md5_file($uploads['tmp_name']).'.'.$file_ext;//md5(time().'_'.ApiGlobals::translit($uploads['name'])).'.'.$file_ext; if (move_uploaded_file($uploads['tmp_name'], $folder . '/' . $fname)) { $sql = 'INSERT INTO fajl (vneshnee_imya_fajla, vnutrennee_imya_fajla, vladelec) VALUES (:vneshnee_imya_fajla, :vnutrennee_imya_fajla, :vladelec)'; $res = \Yii::$app->db->createCommand($sql)->bindValue(':vneshnee_imya_fajla', $uploads['name'])->bindValue(':vnutrennee_imya_fajla', $fname)->bindValue(':vladelec', $polzovatel_id)->execute(); if ($res) { $file_id = \Yii::$app->db->getLastInsertID('fajl_id_seq'); $item = ['id' => $file_id, 'vneshnee_imya_fajla' => $uploads['name'], 'vnutrennee_imya_fajla' => $fname, 'vladelec' => $polzovatel_id]; $html['html'] = static::file_row('radio', $item, false); //ApiGlobals::file_row('radio',$uploads['name'],$file_id,$_POST['widget_id'],true); } } } //} } $xhr = $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest'; if (!$xhr) { $res = json_encode($html); $result = '<textarea>' . $res . '</textarea>'; echo $result; die; } else { $result = $html; } echo json_encode($result); }
public function init() { parent::init(); if (!$this->params) { $this->params = ['id' => 'files' . time() . rand(1, 100)]; } else { $this->params = $this->params; } $sql = 'select * from fajl where vladelec = :user_id'; $polzovatel_id = ApiGlobals::getPolzovatelId(); if (isset($this->attribute)) { $pureAttrbiute = BaseHtml::getAttributeName($this->attribute); $this->params['pureAttribute'] = $pureAttrbiute; } if (!$polzovatel_id) { throw new \Exception(); } if ($res = \Yii::$app->db->createCommand($sql)->bindValue(':user_id', $polzovatel_id)->queryAll()) { $files = array(); foreach ($res as $k => $v) { $files[$v['id']] = $v; } $this->params['files'] = $files; } else { $this->params['files'] = array(); } if (isset($pureAttrbiute) && isset($this->model[$pureAttrbiute]) && $this->model[$pureAttrbiute] && $this->params['files'][$this->model[$pureAttrbiute]]['vneshnee_imya_fajla']) { $this->params['btn-text'] = $this->params['files'][$this->model[$pureAttrbiute]]['vneshnee_imya_fajla']; } if (!isset($this->params['btn-text'])) { $this->params['btn-text'] = 'Выбрать файл'; } $this->params['name'] = isset($this->model) ? Html::getInputName($this->model, $this->attribute) : $this->params['id']; //if (!isset($this->params['selected'])) $this->params['selected'] = null; //else $this->params['btn-text'] = $this->params['files'][$this->params['selected']] //var_dump($this->params['files']); }