<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 方法一 配置文件config/filesystems.php `Supported Drivers:"local","ftp","s3","rackspace" `支持這些驅動,S3是亞馬遜的 ~~~ 'disks'=>[ 'local'=>[ 'driver'=>'local', 'root'=>storage_path('app') //本地目錄下面的app ~~~ Storage_path對應的是這個目錄 ~~~ routes storage //這個 tests ~~~ 建立一個上傳文件 ~~~ 'uploads'=>[ 'driver'=>'local', 'root'=>storage_path('app/uploads'); ], 's3'=>[ 'driver'=>'s3', ~~~ 建一個控制器 ~~~ public function upload(Request $request) { if($request->isMethod('post')) { $file=$request->file('source'); //文件上傳的name是source //判斷文件是否上傳成功 if ($file->isValid()) { $originaName=$file->getClientOriginalName(); //取原文件名 $ext=$file->getClientOriginalExtension(); //取文件的擴展名 $type=$file->getClientMimeType(); //文件的類型MimeType $realPath=$file->getRealPath(); //臨時的絕對路徑 //用時間加uniqid作為上傳上來的文件名,Y-m-d-H-i-s就這樣,如果Y-m-d H-i-s會在下面put報錯的 $filename=date('Y-m-d-H-i-s').'-'.uniqid().'.'.$ext; //use Illuminate\Support\Facades\Storage; //調用uploads,之前在config/filesystems.php設置的 $bool=Storage::disk('uploads')->put($filename,file_get_contents($realPath));//成功true } } } ~~~ 如果要判斷上傳文件的大小可以在上面添加$file->getSize() 文件在這里 ~~~ storage/app/uploads/----時間---.xx ~~~ 如果想放到public可以改下config/filesystems.php ~~~ 'uploads'=>[ 'driver'=>'local', 'root'=>public_path('uploads'), ], 's3'=>[ 'driver'=>'s3', ~~~ # 方法二 ~~~ $file=Input::file('myfile'); if($file->isVaild()) { //檢驗下上傳的文件是否有效 $clientName=$file->getClientOriginalName(); //獲取文件名稱 $tmpName=$file->getFileName(); //緩存在tmp文件夾中的文件名 $realPath=$file->getRealPath(); //這個表示是緩存在tmp文件夾下的文件的絕對路徑 $entension=$file->getClientOriginalExtension(); //上傳文件的后綴 $mimeType=$file->getMimeType(); //mine類型 比如image/jpeg //$path=$file->move('storage/uploads'); //如果這樣寫默認會放在public/storage/uploads/xxx.xx //這不是我們希望的,我們希望放在app的storage目錄下的uploads目錄中,并且需要改名 $path=$file->move(app_path().'/storage/uploads',$newName); //這里app_path()就是app文件夾的路徑.$newName //文件名不要起重復 //比如:$newName=md5(date('ymdhis').$clientName).'.'.$extensiom; //不要忘記加上文件的原始擴展名 } ~~~ # 軟鏈接 在 Laravel 中,要訪問上傳到本地的文件資源,需要先創建一個軟連接。使用storage:linkArtisan 命令,就可以快速創建這個軟鏈接。 ~~~ php artisan storage:link ~~~ 命令執行完畢后,就會在項目里多出一個public/storage,這個storage就是一個軟鏈接,它指向storage/app/public目錄。 ~~~ public/storage(軟連接) → storage/app/public ~~~ 目錄樹結構是這樣的。 ~~~ public/ ├── storage(軟連接,指向目錄 `storage/app/public`) ├── css/ │ └── bootstrap.css └── js/ └── bootstrap.js storage/ └── app/ └── public/ └── user-avatar.png ~~~ 可以通過 http://url/storage/xxx來訪問了 # 看到別人寫的,參考下 ~~~ class AvatarController extends Controller { public function update(Request $request) { $this->validate($request, [ 'avatar' => 'required|image|dimensions:max_width=400,max_height=400', ], [ 'avatar.required' => '請先選擇上傳的頭像。', 'avatar.dimensions' => '上傳頭像的寬高都不能大于 400 像素。', ]); $avatar = $request->file('avatar'); if ($avatar->isValid()) { $user = Auth::user(); $path = Storage::putFile('public/uploads/avatars', $avatar); $user->avatar = Storage::url($path); $user->save(); } return back(); } } ~~~ $avatar 是從頁面接收過來的頭像圖片。你可能從未想過,短短三行代碼就實現了圖片上傳: ~~~ $path = Storage::putFile('public/uploads/avatars', $avatar); $user->avatar = Storage::url($path); $user->save(); ~~~ ## 保存圖片 如果沒有使用 disk 方法指定「硬盤」,Storage 門面默認使用的硬盤就是 local,對應存儲路徑是 storage/app。所以 ~~~ $path = Storage::putFile('public/uploads/avatars', $avatar); 產生的上傳路徑($path)的值類似: public/uploads/avatars/iT8Lg6mmF8qtlskbl54tlsNlYmJLLZnAZzkZsFJH.png, 圖片實際存儲的位置在 /path/to/myapp/storage/app/public/uploads/avatars/iT8Lg6mmF8qtlskbl54tlsNlYmJLLZnAZzkZsFJH.png。 ~~~ ## 生成圖片 URL 黑科技來了。你知道 Storage::url($path) 會產生什么結果嗎?答案揭曉 `——/storage/uploads/avatars/iT8Lg6mmF8qtlskbl54tlsNlYmJLLZnAZzkZsFJH.png。` Oops!$path 的 「public」被去掉,然后在頭部加了 /storage。這就是 Laravel 的 careful。 訪問圖片# ~~~ <img src="{{ asset(Auth::user()->avatar) }}" alt="用戶頭像"> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看