注意:如果是要改動到配置裡的內容,可以在config\\filesystems.php這個檔案下進行修改。
我是在app\\Service\\UploadService.php這個檔案裡封裝好的
下面是程式碼
<?phpnamespace App\\Service;use Illuminate\\Support\\Facades\\Storage;class UploadService{ /** * 上傳圖片 * 提示方法大家自行定義 * @param $file * @return false|string */ public function uploads_img($file) { if ($file->isValid()) { // 判斷上傳圖片的格式 $type = $file->extension(); if(!in_array($type,['png','jpg','jpeg','gif','GIF','JPG','PNG','JPEG'])){ return '上傳格式不支援';\t\t } //判斷上傳圖片的大小 $fileSize = $file->getSize(); if($fileSize > 1024*1024*2){ return '圖片過大'; } try { $path = $file->store('images/'.date('Y-m-d')); if (!$path) { throw new \\Exception('上傳圖片異常'); } } catch (\\Exception $e) { return $e->getMessage(); } return $path; } } /** * 刪除圖片 * @param $img * @return bool */ public function delete_img($img){ return Storage::delete($img); }}
需要呼叫的時候只需要在控制器裡呼叫
use App\\Service\\UploadService;class UploadService{ \t /** * @param UploadService $uploadService * @param $file */ \tpublic function upload(UploadService $uploadService ,$file) \t{ \t\t\t$uploadService->uploads_img($file); \t\t } \t\t \t\t/** * @param UploadService $uploadService * @param $file */ \t\tpublic function delete(UploadService $uploadService ,$file) \t{ \t\t\t$uploadService->delete($file); \t\t }}
我這裡上傳的圖片是在storage\\app\\public目錄下,如果是要在伺服器上瀏覽上傳的圖片,就要建立軟連結,執行命令
php artisan storage:link
執行後目錄對映關係:
public/storage → storage/app/public
完成後就會發現根目錄下的public目錄下會有一個storage目錄了,裡面就是上傳的圖片,這樣就完成在伺服器上瀏覽上傳的圖片了!
或者
每天記錄一點點!!
最新評論