Browse Source

Support upload empty file

walkor 2 năm trước cách đây
mục cha
commit
1def60dfc1
1 tập tin đã thay đổi với 4 bổ sung3 xóa
  1. 4 3
      src/Protocols/Http/Request.php

+ 4 - 3
src/Protocols/Http/Request.php

@@ -591,19 +591,20 @@ class Request
                     if (preg_match('/name="(.*?)"; filename="(.*?)"/i', $value, $match)) {
                         $error = 0;
                         $tmpFile = '';
+                        $fileName = $match[1];
                         $size = strlen($boundaryValue);
                         $tmpUploadDir = HTTP::uploadTmpDir();
                         if (!$tmpUploadDir) {
                             $error = UPLOAD_ERR_NO_TMP_DIR;
-                        } else if ($boundaryValue === '') {
+                        } else if ($boundaryValue === '' && $fileName === '') {
                             $error = UPLOAD_ERR_NO_FILE;
                         } else {
                             $tmpFile = tempnam($tmpUploadDir, 'workerman.upload.');
-                            if ($tmpFile === false || false == file_put_contents($tmpFile, $boundaryValue)) {
+                            if ($tmpFile === false || false === file_put_contents($tmpFile, $boundaryValue)) {
                                 $error = UPLOAD_ERR_CANT_WRITE;
                             }
                         }
-                        $uploadKey = $match[1];
+                        $uploadKey = $fileName;
                         // Parse upload files.
                         $file = [
                             'name' => $match[2],