PHP code example of zgldh / laravel-upload-manager

1. Go to this page and download the library: Download zgldh/laravel-upload-manager library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

zgldh / laravel-upload-manager example snippets


     
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $file = $request->file('avatar');
                $manager = UploadManager::getInstance();
                $upload = $manager->upload($file);
                $upload->save();
                return $upload;
            }
        }
    

     
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $fileUrl = $request->input('url');
                $manager = UploadManager::getInstance();
                $upload = $manager->upload($fileUrl);
                $upload->save();
                return $upload;
            }
        }
    

     
        use App\Upload;
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $uploadId = $request->input('id');
                $file = $request->file('avatar');
                
                $manager = UploadManager::getInstance();
                $upload = Upload::find($uploadId);
                if($manager->update($upload, $file))
                {
                    $upload->save();
                    return $upload;
                }
                return ['result'=>false];
            }
        }
    

     
        use App\Upload;
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $uploadId = $request->input('id');
                $fileUrl = $request->input('url');
                
                $manager = UploadManager::getInstance();
                $upload = Upload::find($uploadId);
                if($manager->update($upload, $fileUrl))
                {
                    $upload->save();
                    return $upload;
                }
                return ['result'=>false];
            }
        }
    

    
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $file = $request->file('avatar');
                $manager = UploadManager::getInstance();
                $upload = $manager->withValidator('image')->upload($file);    //加上验证组
                
                if($upload)
                {
                    $upload->save();
                    return $upload;
                }
                else
                {
                    $errorMessages = $manager->getErrors();                   //得到所有错误信息
                    $errorMessage = $manager->getFirstErrorMessage();         //得到第一条错误信息
                    throw new \Exception($errorMessage);
                }
            }
        }
    

    
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $file = $request->file('avatar');
                $manager = UploadManager::getInstance();
                $upload = $manager
                    ->withValidator('image')
                    ->withDisk('qiniu')         // 储存到七牛磁盘里
                    ->upload($file);
                $upload->save();
                return $upload;
            }
        }
    

    
        use zgldh\UploadManager\UploadManager;
        
        class UploadController extend Controller
        {
            public function postUpload(Request $request)
            {
                $file = $request->file('avatar');
                $manager = UploadManager::getInstance();
                $upload = $manager
                    ->withValidator('image')
                    ->withDisk('localhost')         // 默认存到本地
                    ->upload($file, function($upload){
                        if($upload->size > 1024*1024)
                        {
                            $upload->disk = 'qiniu';// 超过1兆的文件都放到七牛里。
                        }
                        return $upload;
                    });
                $upload->save();
                return $upload;
            }
        }
    


        use zgldh\UploadManager\UploadManager;

        class UploadController extend Controller
        {
            public function clearUnUsed(Request $request)
            {
                $currentUser = $request->user();
                $manager = UploadManager::getInstance();
                $manager->removeUnUsedUploads($currentUser, 'avatar');
            }
        }
    

        
         namespace App\Extensions;
        
        use zgldh\UploadManager\UploadStrategy as BaseUploadStrategy;
        use zgldh\UploadManager\UploadStrategyInterface;
        
        class UploadStrategy extends BaseUploadStrategy implements UploadStrategyInterface
        {
        
            /**
             * 生成储存的相对路径
             * @param $filename
             * @return string
             */
            public function makeStorePath($filename)
            {
                $path = 'i/' . $filename;
                return $path;
            }
        
            /**
             * 得到 disk localuploads 内上传的文件的URL
             * @param $path
             * @return string
             */
            public function getLocaluploadsUrl($path)
            {
                $url = url('uploads/' . $path);
                return $url;
            }
        
            /**
             * 得到 disk qiniu 内上传的文件的URL
             * @param $path
             * @return string
             */
            public function getQiniuUrl($path)
            {
                $url = 'http://' . trim(\Config::get('filesystems.disks.qiniu.domain'), '/') . '/' . trim($path, '/');
                return $url;
            }
        } 
    
config/app.php
'providers' => [ 'zgldh\UploadManager\UploadManagerServiceProvider']
 config/upload.php 
 UploadStrategy.php 
 config/upload.php 
 upload_strategy