Hãy để chúng tôi di chuyển các tệp đã tải lên bên trong hình ảnh/thư mục ở chế độ công khai. Màn hình tải lên tệp như sau -
Mẫu lưỡi cho ở trên như sau -
Student Form @if [count[$errors] > 0]
-
@foreach [$errors->all[] as $error]
- {{ $error }} @endforeach
ví dụ 1
Bây giờ hãy tải lên một tệp và xem các thay đổi có nằm trong thư mục chung không
Để di chuyển tệp vào thư mục chung, chúng tôi đang sử dụng $request->image->move[] giúp di chuyển hình ảnh đã tải lên đến đường dẫn đích. Đường dẫn thư mục chung được truy xuất bằng cách sử dụng. public_path[$destinationPath]
đầu ra
Đầu ra của đoạn mã trên như sau -
Khi bạn nhấp vào tải lên, tệp sẽ được chuyển đến thư mục chung/như hình bên dưới -
ví dụ 2
Bạn có thể sử dụng phương thức store[] có sẵn trên đối tượng thể hiện tệp. Đối với cửa hàng[], bạn phải đề cập đến đường dẫn mà bạn muốn lưu trữ tệp
Một điều quan trọng khác về phương thức store[] là nó tạo một tên duy nhất ngẫu nhiên cho tệp được lưu trữ và trả về đường dẫn. Tệp được lưu trữ bên trong storage/public/images như hình bên dưới -
Chi tiết lưu trữ/công khai/thư mục như sau -
đầu ra
Đầu ra của chương trình trên như sau -
Đường dẫn trên có thể được sử dụng để lưu trữ vị trí tệp trong cơ sở dữ liệu của bạn
ví dụ 3
Một cách khác để lưu trữ tệp đã tải lên là sử dụng Bộ nhớ. phương thức putfile[]. Để sử dụng lớp Mặt tiền lưu trữ, bạn cần bao gồm lớp sau
use Illuminate\Support\Facades\Storage;
Phương thức putfile[] sẽ lưu trữ tệp được cung cấp trong thư mục được đề cập. Nó sẽ cập nhật tương tự trong thư mục lưu trữ/công khai
file['image']; echo $path = Storage::putFile['images', $request->file['image']]; } }
đầu ra
Đầu ra của đoạn mã trên như sau
Bên trong thư mục storage/public/images/ bạn sẽ thấy tệp được tải lên -
Ví dụ 4
Nếu bạn thấy store[] và putfile[] hãy thay đổi tên của tệp theo cách của chúng. Trong trường hợp bạn không muốn thay đổi tên tệp, bạn có thể sử dụng phương thức storeAs[]
Trong ví dụ này, tôi sẽ cung cấp cho bạn ví dụ về hình ảnh hiển thị của laravel từ thư mục lưu trữ. chúng ta có thể dễ dàng hiển thị hình ảnh từ thư mục lưu trữ trong ứng dụng laravel 6. chúng tôi sẽ hiển thị hình ảnh từ thư mục lưu trữ trong tệp phiến với dự án laravel 6, laravel 7, laravel 8 và laravel 9
Hầu hết các nhà phát triển và khách hàng đều muốn lưu trữ hình ảnh hoặc tệp an toàn trên máy chủ của mình. vì vậy bất kỳ ai cũng không thể truy cập trực tiếp bằng url. đó là lý do laravel giới thiệu tải lên tệp thư mục lưu trữ. Hầu như sử dụng thư mục lưu trữ để tải lên tệp và hình ảnh trên ứng dụng laravel của anh ấy. Nhưng khi bạn tải lên, nó cũng có thể được yêu cầu hiển thị hoặc tải xuống cho hình ảnh hoặc tệp đó
Tuy nhiên, trong ví dụ này, tôi sẽ cung cấp cho bạn 2 cách để hiển thị hình ảnh của bạn trong tệp phiến
Giải pháp 1
trước hết nếu bạn muốn hiển thị hình ảnh bằng chức năng nội dung thì bạn cần liên kết thư mục lưu trữ của mình bằng lệnh sau
php artisan storage:link
Bây giờ bạn có thể viết logic tải lên hình ảnh trên bộ điều khiển và tải lên hình ảnh của mình
Nếu bạn muốn hiển thị hình ảnh trên tệp phiến của mình, bạn có thể sử dụng chức năng nội dung như ví dụ dưới đây
Giải pháp 2
Trong giải pháp thứ hai, chúng tôi phải tạo tuyến đường cho hình ảnh hiển thị trên ứng dụng của bạn. Vì vậy, hãy tạo tuyến đường như dưới đây
Ví dụ tải lên hình ảnh Laravel 8;
Và cũng như cách xác thực loại mime, kích thước, kích thước, v.v. trên bộ điều khiển laravel bằng cách sử dụng các quy tắc xác thực của laravel
Hướng dẫn Tải lên hình ảnh trong Laravel 8 này sẽ tạo biểu mẫu tải lên hình ảnh trong laravel 8 với xác thực, được sử dụng để lưu trữ hình ảnh vào cơ sở dữ liệu và thư mục lưu trữ
Tải lên hình ảnh trong Laravel 8
Sử dụng các bước sau để tải hình ảnh lên bộ nhớ chung và thư mục trong ứng dụng laravel 8
- Bước 1 – Tải xuống ứng dụng Laravel 8
- Bước 2 – Thiết lập cơ sở dữ liệu với ứng dụng
- Bước 3 – Tạo mô hình và di chuyển
- Bước 4 – Tạo các tuyến đường
- Bước 5 – Tạo bộ điều khiển bằng Artisan Command
- Bước 6 – Tạo Blade View
- Bước 7 – Tạo thư mục hình ảnh bên trong Storage/app/public
- Bước 8 – Chạy máy chủ phát triển
Bước 1 – Tải xuống ứng dụng Laravel 8
Trước hết, tải xuống hoặc cài đặt laravel 8 thiết lập mới. Vì vậy, hãy mở terminal và gõ lệnh sau để cài đặt ứng dụng laravel 8 mới vào máy của bạn
composer create-project --prefer-dist laravel/laravel LaravelImage
Bước 2 – Thiết lập cơ sở dữ liệu với ứng dụng
Trong bước này, thiết lập cơ sở dữ liệu với ứng dụng laravel 8 đã tải xuống/cài đặt của bạn. Vì vậy, bạn cần tìm. env và chi tiết cơ sở dữ liệu thiết lập như sau
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database-name DB_USERNAME=database-user-name DB_PASSWORD=database-password
Khuyến khích. -Nhận dữ liệu 3, 6, 12 tháng qua trong Laravel
Bước 3 – Tạo mô hình và di chuyển
Trong bước này, hãy mở lại dấu nhắc lệnh của bạn. Và chạy lệnh sau trên nó. Để tạo mô hình và tệp di chuyển cho biểu mẫu
php artisan make:model Photo -m
Sau đó, mở create_photos_table. php bên trong thư mục LaravelImage/database/migrations/. Và cập nhật hàm up[] với đoạn mã sau
________số 8Sau đó, mở lại dấu nhắc lệnh và chạy lệnh sau để tạo bảng vào cơ sở dữ liệu
php artisan migrate
Khuyến khích. -Laravel Tải xuống tệp từ AWS s3 Bucket
Bước 4 – Tạo các tuyến đường
Trong bước này, mở web. tệp php từ thư mục tuyến đường. Và cập nhật các route sau vào web. tập tin php
use Illuminate\Support\Facades\Storage;0
Khuyến khích. -Laravel Tham gia Ví dụ Hướng dẫn
Bước 5 – Tạo bộ điều khiển bằng Artisan Command
Trong bước này, hãy chạy lệnh sau trên dấu nhắc lệnh để tạo tệp điều khiển
use Illuminate\Support\Facades\Storage;1
Sau đó, vào app/http/controllers và mở UploadImageController. tập tin php. Và cập nhật đoạn mã sau vào nó
use Illuminate\Support\Facades\Storage;2
Dòng mã sau sẽ tải một hình ảnh lên thư mục hình ảnh
use Illuminate\Support\Facades\Storage;3
Bước 6 – Tạo Blade View
Bây giờ, tạo biểu mẫu tải lên hình ảnh trong tệp xem phiến để hiển thị biểu mẫu tải lên hình ảnh và gửi tới cơ sở dữ liệu
Vì vậy, hãy chuyển đến tài nguyên/lượt xem và tạo hình ảnh. lưỡi. php và cập nhật đoạn mã sau vào đó
use Illuminate\Support\Facades\Storage;4
Đoạn mã dưới đây sẽ hiển thị thông báo lỗi xác thực trên tệp chế độ xem phiến
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database-name DB_USERNAME=database-user-name DB_PASSWORD=database-password0
Bước 7 – Tạo thư mục hình ảnh bên trong Storage/app/public
Bây giờ, tạo thư mục hình ảnh bên trong thư mục storage/app/public. Bởi vì dòng mã sau sẽ tải một hình ảnh lên thư mục hình ảnh nằm bên trong thư mục storage/app/public/