Đường dẫn công cộng trong Laravel là gì?

Trong khi lưu trữ dự án Laravel trên cPanel, vấn đề truyền thống mà nhiều nhà phát triển gặp phải là đường dẫn /public được thêm vào URL. Bởi vì trong hầu hết các trường hợp, chúng tôi đặt một dự án trực tiếp vào thư mục

use Illuminate\Support\Facades\File;
0, vì vậy,
use Illuminate\Support\Facades\File;
0 là thư mục gốc của trang web và đó cũng là nơi đặt ứng dụng laravel của chúng tôi

Nhưng để chạy ứng dụng Laravel, chúng ta cần trỏ tên miền gốc của mình đến thư mục

use Illuminate\Support\Facades\File;
2 của laravel. Có thể thực hiện với cPanel nhưng bạn cần thực hiện một số bước mà hầu hết mọi người không biết và cũng là một quá trình tẻ nhạt. Vì vậy, để làm cho nó đơn giản, những gì bạn có thể làm là, có một cách chúng ta có thể làm điều đó thông qua tệp ____13 trong thư mục gốc của chúng tôi

Chúng tôi có thể sao chép tệp

use Illuminate\Support\Facades\File;
3 từ thư mục
use Illuminate\Support\Facades\File;
2 của mình và sau đó sửa đổi tệp đó để hoạt động với thư mục gốc trực tiếp và định tuyến mọi yêu cầu đến thư mục
use Illuminate\Support\Facades\File;
2

Đây là tệp

use Illuminate\Support\Facades\File;
3 cuối cùng,



Options -MultiViews -Indexes


RewriteEngine On

# Handle Authorization MemberHeader
RewriteCond %{Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} [.+]/$
RewriteRule ^ %1 [L,R=301]

# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^[.*]$ /public/$1 [L,QSA]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Bằng cách thêm tệp trên vào thư mục gốc, chúng ta có thể sử dụng dự án laravel mà không cần đường dẫn chung. Kiểm tra hai dòng sau

Để lấy danh sách tệp từ thư mục chung, bạn có thể sử dụng lớp Mặt tiền tệp. Để làm việc với nó, bạn cần bao gồm lớp Tệp bằng cách sử dụng câu lệnh sau –

use Illuminate\Support\Facades\File;

Giả sử chúng ta có các tệp sau trong thư mục chung -

ví dụ 1

Chương trình sau cố gắng truy xuất tất cả các hình ảnh từ public_folder -

đầu ra

Đầu ra cho ở trên như sau -

Array [
   [0] => Symfony\Component\Finder\SplFileInfo Object [
      [relativePath:Symfony\Component\Finder\SplFileInfo:private] =>
      [relativePathname:Symfony\Component\Finder\SplFileInfo:private] => flower.jpg
      [pathName:SplFileInfo:private] => C:\xampp\htdocs\laraveltest\public\images\flower.jpg
      [fileName:SplFileInfo:private] => flower.jpg
   ]
]

ví dụ 2

Để lấy tất cả các tệp CSS từ public_folder, bạn chỉ cần chuyển chuỗi 'css' sang phương thức public_path[]

đầu ra

Đầu ra của đoạn mã trên là -

Array [
   [0] => Symfony\Component\Finder\SplFileInfo Object [
      [relativePath:Symfony\Component\Finder\SplFileInfo:private] =>
      [relativePathname:Symfony\Component\Finder\SplFileInfo:private] => test.css
      [pathName:SplFileInfo:private] => C:\xampp\htdocs\laraveltest\public\css\test.css
      [fileName:SplFileInfo:private] => test.css
   ]
]

ví dụ 3

Để lấy tất cả các tệp từ thư mục chung, mã như sau -

$path = public_path[];
$files = File::allFiles[$path];

Biến $files là một mảng chứa thông tin chi tiết về tất cả các tệp có trong thư mục chung/

đầu ra

Đầu ra của đoạn mã trên là -

________số 8

Ví dụ 4

Bạn có thể sử dụng scandir[] để lấy tất cả các tệp trong thư mục công khai/hình ảnh. Nó có thể được thực hiện như hình dưới đây -

Public_path trong Laravel là gì?

Public_path[] là phương thức mà Laravel sử dụng để tìm nạp thư mục được truyền dưới dạng tham số cho đường dẫn của thư mục . Mặt tiền lưu trữ cấp quyền truy cập vào hệ thống tệp của ứng dụng để phương thức deleteDirectory[] có thể xóa thư mục đã chỉ định.

Mục đích của thư mục chung trong Laravel là gì?

Thư mục storage/app/public có thể được sử dụng để lưu trữ các tệp do người dùng tạo, chẳng hạn như ảnh đại diện hồ sơ, có thể truy cập công khai .

Thư mục gốc của Laravel là gì?

Thư mục gốc của bản cài đặt Laravel mới chứa nhiều loại thư mục. Thư mục ứng dụng, như bạn mong đợi, chứa mã lõi của ứng dụng của bạn . Chúng ta sẽ sớm khám phá thư mục này chi tiết hơn.

Làm cách nào để thay đổi vị trí lưu trữ trong Laravel 8?

Bây giờ, nếu bạn cần thay đổi thư mục và lưu trực tiếp vào thư mục lưu trữ, bạn cần thay đổi một số thứ trong hệ thống tệp. tập tin php. 'local' => [ 'driver' => 'local', 'root' => storage_path['app'], ] , Đây, cái này .

Chủ Đề