init
This commit is contained in:
160
models/UploadForm.php
Normal file
160
models/UploadForm.php
Normal file
@@ -0,0 +1,160 @@
|
||||
<?php
|
||||
|
||||
namespace app\models;
|
||||
|
||||
use yii\base\Model;
|
||||
use yii\web\UploadedFile;
|
||||
|
||||
class UploadForm extends Model {
|
||||
|
||||
/**
|
||||
* @var UploadedFile[]
|
||||
*/
|
||||
public $imageFiles;
|
||||
|
||||
public function rules() {
|
||||
return [
|
||||
[['imageFiles'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg, jpeg, pdf, rar, zip', 'maxFiles' => 70],
|
||||
];
|
||||
}
|
||||
|
||||
public function upload($params) {
|
||||
if ($this->validate()) {
|
||||
$currentStorage = Storage::findOne(['stt' => 1])->folder;
|
||||
// $root = \Yii::getAlias('@app') . '/web/data/uploads/';
|
||||
$root = $currentStorage . "/uploads/";
|
||||
$folder = $root . $params['project_type'] . "/" . $params['project_id'] . "/" . $params['p_id'];
|
||||
if (!file_exists($folder))
|
||||
mkdir($folder, 0777, true);
|
||||
|
||||
$files = [];
|
||||
foreach ($this->imageFiles as $file) {
|
||||
$file->saveAs($folder . "/" . $file->baseName . '.' . $file->extension);
|
||||
$files[] = $file->baseName . '.' . $file->extension;
|
||||
}
|
||||
$model = new Images();
|
||||
$model->create($params, $files);
|
||||
$results = Results::findOne(['project_id' => $params['project_id_raw'], 'p_id' => $params['p_id_raw']]);
|
||||
$results->content = "yes";
|
||||
if ($results->create_at == $results->modified_at) {
|
||||
$results->modified_at = time();
|
||||
}
|
||||
$results->save();
|
||||
return true;
|
||||
} else {
|
||||
var_dump($this->errors);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function uploadZip($params) {
|
||||
return $this->UploadFile('file' . $params["name"], ["RAR", "ZIP", "MPG", "MXF"], $params);
|
||||
}
|
||||
|
||||
public function uploadDoc($params) {
|
||||
return $this->UploadFile('file' . $params["name"], ["DOC", "DOCX", "XLS", "XLSX"], $params);
|
||||
}
|
||||
|
||||
public function uploadWord($params) {
|
||||
return $this->UploadFile('file' . $params["name"], ["DOC", "DOCX", "RAR", "ZIP"], $params);
|
||||
}
|
||||
|
||||
public function uploadMp3($params) {
|
||||
return $this->UploadFile('file' . $params["name"], ["MP3", "WAV", "RAR", "ZIP"], $params);
|
||||
}
|
||||
|
||||
public function UploadFile($file, $fileTypes, $params) {
|
||||
$currentStorage = Storage::findOne(['stt' => 1])->folder;
|
||||
// $root = \Yii::getAlias('@app') . '/web/data/uploads';
|
||||
$root = $currentStorage . "/uploads";
|
||||
$LocalPath = "/" . $params['project_type'] . "/" . $params['project_id'] . "/" . $params['p_id'];
|
||||
$RootFolder = $root . $LocalPath;
|
||||
// $name = $_FILES[$file]["name"];
|
||||
// $array = explode(".", $name);
|
||||
// $nr = count($array);
|
||||
// $ext = $array[$nr - 1];
|
||||
// $fileName = md5($params['project_type'] . "/" . $params['project_id'] . "/" . $params['p_id']);
|
||||
$destfile = $_FILES[$file]["name"];
|
||||
if (!empty($_FILES)) {
|
||||
$tempFile = $_FILES[$file]['tmp_name'];
|
||||
$targetPath = $RootFolder;
|
||||
if (!file_exists($targetPath)) {
|
||||
@mkdir($targetPath, 0777, true);
|
||||
}
|
||||
$targetFile = $targetPath . '/' . $destfile;
|
||||
$targetFileLocal = $LocalPath . '/' . $destfile;
|
||||
// Validate the file type
|
||||
$fileParts = pathinfo($_FILES[$file]['name']);
|
||||
if (in_array(strtoupper($fileParts['extension']), $fileTypes)) {
|
||||
move_uploaded_file($tempFile, $targetFile);
|
||||
if (file_exists($targetFile)) {
|
||||
return $targetFileLocal;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function UploadGlobal($file, $fileTypes, $path) {
|
||||
$root = \Yii::getAlias('@app') . '/web/data/uploads';
|
||||
$LocalPath = "/" . $path;
|
||||
$RootFolder = $root . $LocalPath;
|
||||
// $name = $_FILES[$file]["name"];
|
||||
// $array = explode(".", $name);
|
||||
// $nr = count($array);
|
||||
// $ext = $array[$nr - 1];
|
||||
// $fileName = md5($path);
|
||||
$destfile = time() . "_" . $_FILES[$file]["name"]; // time() . "_" . $fileName . "." . $ext;
|
||||
if (!empty($_FILES)) {
|
||||
$tempFile = $_FILES[$file]['tmp_name'];
|
||||
$targetPath = $RootFolder;
|
||||
if (!file_exists($targetPath)) {
|
||||
@mkdir($targetPath, 0777, true);
|
||||
}
|
||||
$targetFile = $targetPath . '/' . $destfile;
|
||||
$targetFileLocal = $LocalPath . '/' . $destfile;
|
||||
// Validate the file type
|
||||
$fileParts = pathinfo($_FILES[$file]['name']);
|
||||
if (in_array(strtoupper($fileParts['extension']), $fileTypes)) {
|
||||
move_uploaded_file($tempFile, $targetFile);
|
||||
if (file_exists($targetFile)) {
|
||||
return $targetFileLocal;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Move file
|
||||
public function MoveFile($file, $folder) {
|
||||
$currentStorage = Storage::findOne(['stt' => 1])->folder;
|
||||
$root = $currentStorage . "/uploads";
|
||||
// $root = \Yii::getAlias('@app') . '/web/data/uploads/';
|
||||
$tempdir = $file;
|
||||
if (trim($tempdir) !== "") {
|
||||
$tempdir = $root . trim($tempdir);
|
||||
} else {
|
||||
$tempdir = "/dddddddddddddddddddddeeeeeeeeeeeee";
|
||||
}
|
||||
if (file_exists($tempdir)) {
|
||||
$destfile = basename($tempdir);
|
||||
$dir = $root . $folder;
|
||||
$file_dir = $dir . '/' . $destfile;
|
||||
$link = $destfile;
|
||||
if (!file_exists($dir)) {
|
||||
@mkdir($dir, 0777, true);
|
||||
}
|
||||
$output = shell_exec("mv {$tempdir} {$file_dir}");
|
||||
} else {
|
||||
$link = $file;
|
||||
}
|
||||
return $link;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user