Example #1
0
 protected function bindFields(\PDOStatement $statment, File $file)
 {
     $statment->bindValue(':fileName', $file->getFileName());
     $statment->bindValue(':fileType', $file->getFileType());
     $statment->bindValue(':fileSize', $file->getFileSize());
     $statment->bindValue(':fileMediaInfo', $file->getFileMediaInfo());
     $statment->bindValue(':fileKey', $file->getFileKey());
 }
Example #2
0
 function addLogo(Brand $Brand)
 {
     if (isset($_FILES['fileLogoURL']) && $_FILES['fileLogoURL']['size'] > 0) {
         $errors = array();
         $fileName = $_FILES['fileLogoURL']['name'];
         $tmpName = $_FILES['fileLogoURL']['tmp_name'];
         $fileSize = $_FILES['fileLogoURL']['size'];
         $fileType = $_FILES['fileLogoURL']['type'];
         $File = new File($fileName, $tmpName, $fileSize, $fileType);
         if ($fileSize > 2097152) {
             $errors[] = 'File phải nhỏ hơn 2 MB';
         }
         if (!$File->isImageType()) {
             $errors[] = "";
         }
         if (empty($errors) == true) {
             //remove Logo old
             $logo_Old = trim($Brand->getLogoURL(), '"');
             if (file_exists($logo_Old)) {
                 unlink($logo_Old);
             }
             //Add logo new
             $path = '../assets/images/logoBrands/' . $Brand->getBraID();
             if (!file_exists($path)) {
                 // neu k ton tai duong dan thu muc cua id nay thi tạo mới
                 File::createDirectory($path);
             }
             $type = explode("/", $File->getFileType())[1];
             $find = array(" ", "\\", "/", ":", "*", "?", "\"", "<", ">", "|");
             $name = File::utf8convert(str_replace($find, '', $Brand->getBraName()));
             $pathNew = $path . '/logo_' . $name . "." . $type;
             $File->moveFile($pathNew);
             $Brand->setLogoURL($pathNew);
             $Brand->updateLogo();
         } else {
             //print_r($errors);
         }
         if (empty($error)) {
             //echo "Success";
         }
     }
 }
Example #3
0
 public static function isPdfFile($file)
 {
     if (File::getFileType($file) == "pdf") {
         return true;
     }
     return false;
 }
Example #4
0
 function addListImages(Product $Product)
 {
     $errors = array();
     $listImage_remove = array();
     $i = 1;
     $path = '../assets/images/productImages/' . $Product->getProID();
     if (isset($_POST["txtListImage_remove"]) && !empty($_POST["txtListImage_remove"])) {
         $listImage_remove = explode(',', $_POST["txtListImage_remove"]);
         foreach ($listImage_remove as $key => $fileName_remove) {
             $path_deleteFile = $path . '/' . $fileName_remove;
             if (file_exists($path_deleteFile)) {
                 unlink($path_deleteFile);
                 array_splice($listImage_remove, $key, 1);
             }
         }
     }
     if (isset($_FILES['listImageFiles']) && $_FILES['listImageFiles']['size'] > 0) {
         foreach ($_FILES['listImageFiles']['tmp_name'] as $key => $tmp_name) {
             $insertImage = true;
             $fileName = $_FILES['listImageFiles']['name'][$key];
             $fileSize = $_FILES['listImageFiles']['size'][$key];
             $tmpName = $_FILES['listImageFiles']['tmp_name'][$key];
             $fileType = $_FILES['listImageFiles']['type'][$key];
             foreach ($listImage_remove as $fileName_remove) {
                 if ($fileName == $fileName_remove) {
                     $insertImage = false;
                     break;
                 }
             }
             if ($insertImage) {
                 $File = new File($fileName, $tmpName, $fileSize, $fileType);
                 if ($fileSize > 2097152) {
                     $errors[] = 'File phải nhỏ hơn 2 MB';
                 }
                 if (!$File->isImageType()) {
                     $errors[] = ".";
                 }
                 if (empty($errors) == true) {
                     if (!file_exists($path)) {
                         File::createDirectory($path);
                     }
                     $type = explode("/", $File->getFileType())[1];
                     $find = array(" ", "\\", "/", ":", "*", "?", "\"", "<", ">", "|");
                     $name = File::utf8convert(str_replace($find, '', $Product->getProName()));
                     $name = $pathNew = $path . '/' . $name . '_' . $i++;
                     foreach (glob("{$path}/*") as $file) {
                         $file = substr($file, 0, strrpos($file, '.'));
                         if ($file == $pathNew) {
                             $pathNew = $path . '/' . $name . '_' . $i++;
                         }
                     }
                     $pathNew .= '.' . $type;
                     $File->moveFile($pathNew);
                 } else {
                     //print_r($errors);
                 }
             }
         }
         if (empty($error)) {
         }
     }
 }
Example #5
0
 /**
  * @brief  开始执行上传
  * @return array 包含上传成功信息的数组
  *		$file = array(
  *			 name    如果上传成功,则返回上传后的文件名称,如果失败,则返回客户端名称
  *			 size    上传附件大小
  *           fileSrc 上传文件完整路径
  *			 dir     上传目录
  *			 ininame 上传图片名
  *			 flag    -1:上传的文件超出服务器限制; -2:上传的文件超出浏览器限制; -3:上传的文件被部分上传; -4:没有找到上传的文件; -5:上传的文件丢失;
  *                   -6:上传的临时文件没有正确写入; -7:扩展名不允许上传; -8:上传的文件超出了程序的限制; -9:上传的文件中有木马病毒 ; 1:上传成功;
  *			 ext     上传附件扩展名
  *		);
  */
 public function execute()
 {
     //总的文件上传信息
     $info = array();
     foreach ($_FILES as $field => $file) {
         $fileInfo = array();
         //不存在上传的文件名
         if (!isset($_FILES[$field]['name']) || $_FILES[$field]['name'] == '') {
             continue;
         }
         //上传控件为数组格式 file[]格式
         if (is_array($_FILES[$field]['name'])) {
             $keys = array_keys($_FILES[$field]['name']);
             foreach ($keys as $key) {
                 $fileInfo[$key]['name'] = $_FILES[$field]['name'][$key];
                 //上传出现错误
                 if (isset($_FILES[$field]['error'][$key]) && $_FILES[$field]['error'][$key] != 0) {
                     $fileInfo[$key]['flag'] = 0 - $_FILES[$field]['error'][$key];
                 } else {
                     //获取扩展名
                     $fileext = File::getFileType($_FILES[$field]['tmp_name'][$key]);
                     if (is_array($fileext) || $fileext == null) {
                         $fileext = File::getFileSuffix($_FILES[$field]['name'][$key]);
                     }
                     //图片木马检测
                     if (in_array($fileext, $this->checkType) && !Safe::checkHex($_FILES[$field]['tmp_name'][$key])) {
                         $fileInfo[$key]['flag'] = -9;
                     } else {
                         /*开始上传文件*/
                         //(1)上传类型不符合
                         if (!in_array($fileext, $this->allowType)) {
                             $fileInfo[$key]['flag'] = -7;
                         } else {
                             if ($_FILES[$field]['size'][$key] > $this->maxsize) {
                                 $fileInfo[$key]['flag'] = -8;
                             } else {
                                 //修改图片状态值
                                 $fileInfo[$key]['name'] = date('Ymdhis') . mt_rand(100, 999) . '.' . $fileext;
                                 $fileInfo[$key]['dir'] = $this->dir;
                                 $fileInfo[$key]['size'] = $_FILES[$field]['size'][$key];
                                 $fileInfo[$key]['ininame'] = $_FILES[$field]['name'][$key];
                                 $fileInfo[$key]['ext'] = $fileext;
                                 $fileInfo[$key]['fileSrc'] = $fileInfo[$key]['dir'] . $fileInfo[$key]['name'];
                                 $fileInfo[$key]['flag'] = 1;
                                 if ($this->isForge == false) {
                                     if (is_uploaded_file($_FILES[$field]['tmp_name'][$key])) {
                                         File::mkdir($this->dir);
                                         move_uploaded_file($_FILES[$field]['tmp_name'][$key], $this->dir . $fileInfo[$key]['name']);
                                     }
                                 } else {
                                     File::xcopy($_FILES[$field]['tmp_name'][$key], $this->dir . $fileInfo[$key]['name']);
                                 }
                             }
                         }
                     }
                 }
             }
         } else {
             $fileInfo[0]['name'] = $_FILES[$field]['name'];
             //上传出现错误
             if (isset($_FILES[$field]['error']) && $_FILES[$field]['error'] != 0) {
                 $fileInfo[0]['flag'] = 0 - $_FILES[$field]['error'];
             } else {
                 //获取扩展名
                 $fileext = File::getFileType($_FILES[$field]['tmp_name']);
                 if (is_array($fileext) || $fileext == null) {
                     $fileext = File::getFileSuffix($_FILES[$field]['name']);
                 }
                 //图片木马检测
                 if (in_array($fileext, $this->checkType) && !Safe::checkHex($_FILES[$field]['tmp_name'])) {
                     $fileInfo[0]['flag'] = -9;
                 } else {
                     /*开始上传文件*/
                     //(1)上传类型不符合
                     if (!in_array($fileext, $this->allowType)) {
                         $fileInfo[0]['flag'] = -7;
                     } else {
                         if ($_FILES[$field]['size'] > $this->maxsize) {
                             $fileInfo[0]['flag'] = -8;
                         } else {
                             //修改图片状态值
                             $fileInfo[0]['name'] = date('YmdHis') . mt_rand(100, 999) . '.' . $fileext;
                             $fileInfo[0]['dir'] = $this->dir;
                             $fileInfo[0]['size'] = $_FILES[$field]['size'];
                             $fileInfo[0]['ininame'] = $_FILES[$field]['name'];
                             $fileInfo[0]['ext'] = $fileext;
                             $fileInfo[0]['fileSrc'] = $fileInfo[0]['dir'] . $fileInfo[0]['name'];
                             $fileInfo[0]['flag'] = 1;
                             if ($this->isForge == false) {
                                 if (is_uploaded_file($_FILES[$field]['tmp_name'])) {
                                     File::mkdir($this->dir);
                                     move_uploaded_file($_FILES[$field]['tmp_name'], $this->dir . $fileInfo[0]['name']);
                                 }
                             } else {
                                 File::xcopy($_FILES[$field]['tmp_name'], $this->dir . $fileInfo[0]['name']);
                             }
                         }
                     }
                 }
             }
         }
         $info[$field] = $fileInfo;
     }
     return $info;
 }