瀏覽代碼

Update:更改文件验证

朱金辉 2 年之前
父節點
當前提交
2a340bb8b1
共有 5 個文件被更改,包括 32 次插入30 次删除
  1. 1 1
      demo/private/plugins/logger.php
  2. 1 0
      src/Config/Mine.php
  3. 1 1
      src/Library/Download.php
  4. 24 23
      src/Library/Upload.php
  5. 5 5
      src/Library/Validate.php

+ 1 - 1
demo/private/plugins/logger.php

@@ -1,7 +1,7 @@
 <?php
 namespace plugins;
 
-use Qii\Loger\Writer;
+use Qii\Logger\Writer;
 
 class logger implements Writer
 {

+ 1 - 0
src/Config/Mine.php

@@ -42,6 +42,7 @@ class Mine
         'dir' => 'application/x-director',
         'dll' => 'application/x-msdownload',
         'dms' => 'application/octet-stream',
+        'dmg' => 'application/octet-stream',
         'doc' => 'application/msword',
         'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
         'dot' => 'application/msword',

+ 1 - 1
src/Library/Download.php

@@ -25,7 +25,7 @@ class Download
 		header('Cache-Control: no-store, no-cache, must-revalidate');
 		header('Cache-Control: pre-check=0, post-check=0, max-age=0');
 		header("Content-type: application/octet-stream");
-		header("Accept-Length: ".  sizeof($string));
+		header("Accept-Length: ".  strlen($string));
 		$fileName = toGBK(urlencode($fileName));
 		header("Content-Disposition: attachment; filename=". $fileName);
 		echo $string;

+ 24 - 23
src/Library/Upload.php

@@ -493,51 +493,52 @@ class Upload
                 imagefill($im, 0, 0, $color);
                 break;
         }
+        if(!$im) {
+            throw new \Exception('不支持的图片类型');
+        }
         
-        $src_W = imagesx($im);//获取大图宽
-        $src_H = imagesy($im);//获取大图高
+        $srcW = imagesx($im);//获取大图宽
+        $srcH = imagesy($im);//获取大图高
         
         //计算比例
         //检查图片高度和宽度
-        $srcScale = sprintf("%.2f", ($src_W / $src_H));//原图比例
+        $srcScale = sprintf("%.2f", ($srcW / $srcH));//原图比例
         $destScale = sprintf("%.2f", ($width / $height));//缩略图比例
         
         //echo "<p>原始比例:".$srcScale.";目标比例".$destScale."</p>";
         if ($srcScale > $destScale) {
             //说明高度不够,就以高度为准
-            $myH = $src_H;
-            $myW = intval($src_H * ($width / $height));
+            $myH = $srcH;
+            $myW = intval($srcH * ($width / $height));
             //获取开始位置
             $myY = 0;
-            $myX = intval(($src_W - $myW) / 2);
+            $myX = intval(($srcW - $myW) / 2);
         } elseif ($srcScale < $destScale) {
             //宽度不够就以宽度为准
-            $myW = $src_W;
-            $myH = intval($src_W * ($height / $width));
+            $myW = $srcW;
+            $myH = intval($srcW * ($height / $width));
             $myX = 0;
-            $myY = intval(($src_H - $myH) / 2);
+            $myY = intval(($srcH - $myH) / 2);
         } else {
-            if ($src_W > $src_H) {
-                //echo "<p>case 1:</p>";
-                $myH = $src_H;
-                $myW = intval($src_H * ($width / $height));
+            if ($srcW > $srcH) {
+                $myH = $srcH;
+                $myW = intval($srcH * ($width / $height));
                 //获取开始位置
                 $myY = 0;
-                $myX = intval(($src_W - $myW) / 2);
+                $myX = intval(($srcW - $myW) / 2);
             }
-            if ($src_W < $src_H) {
-                //echo "case 2";
-                $myW = $src_W;
-                $myH = intval($src_W * ($height / $width));
+            if ($srcW < $srcH) {
+                $myW = $srcW;
+                $myH = intval($srcW * ($height / $width));
                 $myX = 0;
-                $myY = intval(($src_H - $myH) / 2);
+                $myY = intval(($srcH - $myH) / 2);
             }
         }
-        if ($src_W == $src_H) {
-            $myW = intval($src_H * ($width / $height));
-            $myH = $src_H;
+        if ($srcW == $srcH) {
+            $myW = intval($srcH * ($width / $height));
+            $myH = $srcH;
             
-            $myX = intval(($src_W - $myW) / 2);
+            $myX = intval(($srcW - $myW) / 2);
             $myY = 0;
         }
         //echo "<p>SW:" . $src_W ."W:" .$myW . "</p><p>X".$myX."</p><p>SH".$src_H.";H:" . $myH ."<p>Y".$myY."</p>";

+ 5 - 5
src/Library/Validate.php

@@ -88,8 +88,8 @@ class Validate
 		'rangeof' => '范围',
 		'string' => '字符',
 		'sets' => '枚举',
-		'setsArray' => '数组',
-        'isValidFileName' => '文件名',
+		'setsarray' => '数组',
+        'filename' => '文件名',
 	);
 	//出错保存数据用
 	protected $invalidFields = array();
@@ -481,9 +481,9 @@ class Validate
 	 * @param string $set
 	 * @return bool
 	 */
-	public function setsArray($str, $sets)
+	public function setsarray($str, $sets)
 	{
-		return $str && in_array($str, $sets);
+		return in_array($str, $sets);
 	}
 
     /**
@@ -516,7 +516,7 @@ class Validate
      * @param $name
      * @return false|int
      */
-    public function isValidFileName($name) {
+    public function fileName($name) {
         return $name != "" && preg_match("/^[\x7f-\xffA-Za-z0-9_\s\.]+[^\.|\s]$/", $name);
     }
 }