jqh 4 years ago
parent
commit
de21a376b4

+ 1 - 1
src/Form/Field/File.php

@@ -133,7 +133,7 @@ class File extends Field implements UploadFieldInterface
         foreach (Helper::array($this->value()) as $value) {
             $previews[] = [
                 'id'   => $value,
-                'path' => basename($value),
+                'path' => Helper::basename($value),
                 'url'  => $this->objectUrl($value),
             ];
         }

+ 1 - 1
src/Grid/Displayers/Downloadable.php

@@ -22,7 +22,7 @@ class Downloadable extends AbstractDisplayer
                 $src = Storage::disk($disk ?: config('admin.upload.disk'))->url($value);
             }
 
-            $name = basename($value);
+            $name = Helper::basename($value);
 
             return <<<HTML
 <a href='$src' download='{$name}' target='_blank' class='text-muted'>

+ 1 - 1
src/Show/Field.php

@@ -267,7 +267,7 @@ class Field implements Renderable
             $path = Helper::array($path);
 
             $list = collect($path)->transform(function ($path) use ($server, $field) {
-                $name = basename($path);
+                $name = Helper::basename($path);
 
                 $field->wrap(false);
 

+ 16 - 0
src/Support/Helper.php

@@ -926,4 +926,20 @@ class Helper
 
         return $array;
     }
+
+    /**
+     * 获取文件名称.
+     *
+     * @param string $name
+     *
+     * @return array|mixed
+     */
+    public static function basename($name)
+    {
+        if (! $name) {
+            return $name;
+        }
+
+        return last(explode('/', $name));
+    }
 }

+ 3 - 3
src/Support/Zip.php

@@ -127,14 +127,14 @@ class Zip extends ZipArchive
         if (is_dir($source)) {
             $includeHidden = isset($options['includeHidden']) && $options['includeHidden'];
             $wildcard = $includeHidden ? '{*,.[!.]*,..?*}' : '*';
-            $source = implode('/', [dirname($source), basename($source), $wildcard]);
+            $source = implode('/', [dirname($source), Helper::basename($source), $wildcard]);
         }
 
         extract(array_merge([
             'recursive' => true,
             'includeHidden' => false,
             'basedir' => dirname($source),
-            'baseglob' => basename($source),
+            'baseglob' => Helper::basename($source),
         ], $options));
 
         if (is_file($source)) {
@@ -151,7 +151,7 @@ class Zip extends ZipArchive
             }
 
             $localpath = $this->removePathPrefix($basedir.'/', dirname($file).'/');
-            $localfile = $this->folderPrefix.$localpath.basename($file);
+            $localfile = $this->folderPrefix.$localpath.Helper::basename($file);
             $this->addFile($file, $localfile);
         }
 

+ 3 - 2
src/Traits/HasUploadedFile.php

@@ -4,6 +4,7 @@ namespace Dcat\Admin\Traits;
 
 use Dcat\Admin\Admin;
 use Dcat\Admin\Form\Field\File;
+use Dcat\Admin\Support\Helper;
 use Dcat\Admin\Support\WebUploader;
 use Illuminate\Filesystem\FilesystemAdapter;
 use Illuminate\Support\Facades\Storage;
@@ -94,8 +95,8 @@ trait HasUploadedFile
     {
         return Admin::json([
             'id'   => $path,
-            'name' => basename($path),
-            'path' => basename($path),
+            'name' => Helper::basename($path),
+            'path' => Helper::basename($path),
             'url'  => $url,
         ]);
     }