Cách truy cập hình ảnh bên ngoài thư mục chung trong laravel

Trong Laravel 5. 0 được trừu tượng hóa và thậm chí bạn có thể truy cập tài nguyên từ đám mây vẫn sử dụng cùng một API

Vui lòng xem các tài liệu. Hệ thống tập tin / Lưu trữ đám mây

Cập nhật lần cuối cách đây 7 năm

Có và không tôi đoán? . nhưng, chỉ là một cách khác. . D Kéo [base64_code] từ cơ sở dữ liệu hoặc vị trí riêng tư

Xin chào, mọi người đều biết rằng rất khó để lưu trữ dự án Laravel trên máy chủ được chia sẻ vì họ chỉ cung cấp một thư mục public_html và là thư mục điểm truy cập duy nhất. nhưng cấu trúc của Laravel entry point của laravel không phải ** root của project ** là root_project/public

Vậy làm thế nào tôi có thể lưu trữ Laravel trong tình huống này ??

Giải pháp tốt nhất là tách thư mục chung khỏi dự án Laravel
Từ cấu trúc

Cách truy cập hình ảnh bên ngoài thư mục chung trong laravel

để cấu trúc
Cách truy cập hình ảnh bên ngoài thư mục chung trong laravel

Với cấu trúc mới, chúng tôi di chuyển thư mục chung bên ngoài mã src
Vì vậy, bây giờ chúng tôi thay đổi tên của thư mục public thành public_html để lưu trữ dự án
Cách truy cập hình ảnh bên ngoài thư mục chung trong laravel

Trước tiên, chúng ta nên liên kết public_path trong bootstrap/app. php

// add this before return $app;
$app->bind('path.public', function () {
    return base_path() . '/../public_html';
});

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó, chúng tôi cần cập nhật đường dẫn trong máy chủ. php và * chỉ mục. php
*

*người phục vụ. php *

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell 
 */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__ . '/../public_html' . $uri)) {
    return false;
}

require_once __DIR__ . '/../public_html/index.php';

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

mục lục. php trong public_html




use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| Check If The Application Is Under Maintenance
|--------------------------------------------------------------------------
|
| If the application is in maintenance / demo mode via the "down" command
| we will load this file so that any pre-rendered content can be shown
| instead of starting the framework, which could cause an exception.
|
*/

if (file_exists(__DIR__ . '/../src/storage/framework/maintenance.php')) {
    require __DIR__ . '/../src/storage/framework/maintenance.php';
}

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| this application. We just need to utilize it! We'll simply require it
| into the script here so we don't need to manually load our classes.
|
*/

require __DIR__ . '/../src/vendor/autoload.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/

$app = require_once __DIR__ . '/../src/bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = $kernel->handle(
    $request = Request::capture()
)->send();

$kernel->terminate($request, $response);

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Đó là tất cả không đơn giản. , bây giờ bạn có thể dễ dàng lưu trữ dự án laravel trên shared hosting bất kỳ vấn đề nào về lưu trữ hoặc bất kỳ vấn đề nào khác
bạn có thể sao chép một ví dụ từ repo laravel-new-struct

Tôi hy vọng rằng bạn hoàn thành bài viết và hẹn gặp lại bạn với một bài viết khác

Cách truy cập hình ảnh bên ngoài thư mục chung trong laravel

Làm cách nào để truy cập tệp từ thư mục chung trong laravel?

Sử dụng phương thức public_path() . Phương pháp này được sử dụng đặc biệt để truy cập các tệp từ thư mục chung.

Tôi nên lưu trữ hình ảnh ở đâu trong dự án laravel?

$url = Lưu trữ. url('tệp. jpg'); . Hơn nữa, bạn nên tạo một liên kết tượng trưng tại public/storage trỏ đến thư mục storage/app/public. storage/app/public directory. Furthermore, you should create a symbolic link at public/storage which points to the storage/app/public directory.

Hình ảnh laravel được lưu trữ ở đâu?

Về cơ bản, bạn có thể lưu tệp của mình ở bất cứ đâu bạn muốn trong ứng dụng Laravel của mình miễn là bạn có quyền tạo thư mục và tệp. Nhưng tôi thích lưu tệp trong thư mục lưu trữ/ứng dụng . Laravel cung cấp một API đơn giản để thao tác với các tệp trên đĩa.

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

Thư mục chung chứa chỉ mục. php, là điểm bắt đầu cho tất cả các yêu cầu vào ứng dụng của bạn và định cấu hình tự động tải .