簡體   English   中英

無法在 laravel 中上傳大於 2MB 的文件

[英]unable to upload file greater than 2MB in laravel

目前,我正在 laravel 做一個 CMS,我試圖在 laravel 上傳一個超過 2MB 的文件,它顯示圖片上傳失敗。

我的 controller 代碼。

    $this->validate($request ,[
        'title' => 'required',
        'featured' => 'required|image',
        'content' => 'required',
        'category_id' => 'required',
        'tags' => 'required'
    ]);

    $featured = $request->featured;

    $featured_new_name = $featured->getClientOriginalName();

    $featured->move('uploads/posts', $featured_new_name);

    $post = Post::create([
        'title' => $request->title,
        'slug' => str_replace(' ', '-', $request->title),
        'featured' => 'uploads/posts/' . $featured_new_name,
        'content' => $request->content,
        'category_id' => $request->category_id,
        'user_id' => Auth::id()

    ]);   

     $post->tags()->attach($request->tags);

    Session::flash('success', 'Post Created Sucessfully.');

    return redirect()->route('posts');

嘗試在php.ini中增加以下值,例如:

memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M

或者查看此鏈接

增加php.ini中的內存限制是最好的主意。 如果您只想在此函數中增加內存限制,請在函數上使用此代碼。

ini_set('memory_limit', '4096M'); 
echo phpinfo();

在此輸入圖像描述

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Maximum allowed size for uploaded files
upload_max_filesize = 4M

在我的例子中,我修改了 CLI 路徑下的 php.ini 文件,以及我的 apache2 下的 php.ini 文件。

您可以找到與以下命令一起使用的 php.ini 文件:

# php --ini

Configuration File (php.ini) Path: /etc/php/8.0/cli
Loaded Configuration File:         /etc/php/8.0/cli/php.ini

您可以設置上傳圖片大小“max = 10000”

$request->validate([
            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:10000',
        ]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM