بررسی بیشتر در مورد کلاس WP_REST_Attachments_Controller::check_upload_size()
سلام! امروز میخواهیم بریم سراغ یک بخش جالب از WordPress به نام کلاس WP_REST_Attachments_Controller و بهخصوص متد check_upload_size() آن. این متد کاربردی، به ما این امکان را میدهد تا اندازه فایلهایی که به سایت خود آپلود میکنیم را بررسی کنیم. این مورد میتواند نه تنها به حفظ فضای سرور کمک کند بلکه از بارگذاری فایلهای بزرگ و غیرمناسب نیز جلوگیری میکند.
تصور کن که یک سایت وردپرسی داری و میخواهی تصاویر را به راحتی اپلود کنی. اما اگر سایز هر عکسی بیش از حد مجاز باشد، سیستم طبیعی است که باید خطایی بدهد. در واقع، متد check_upload_size() به ما این امکان را میدهد تا قبل از اینکه فایل به سرور ارسال شود، بررسیهای لازم را انجام دهیم و مطمئن شویم که همه چیز در کمال آرامش پیش برود.
این متد خود یکی از کاربردهای REST API در وردپرس است. به عنوان مثال، اگر شما در حال استفاده از یک برنامه جاوااسکریپتی برای اپلود فایلها باشید، میتوانید از این متد قبل از ارسال فایلها به سرور استفاده کنید تا اندازه فایلها را بررسی کنید و اطمینان حاصل کنید که سایز آنها مجاز است یا خیر.
حالا برای اینکه بیشتر با این کلاس و متدهاش آشنا بشیم، بیایید کمی در کد زیر بررسی کنیم.
public function check_upload_size( $file ) {
$max_upload_size = wp_max_upload_size();
if ( $file[ 'size' ] > $max_upload_size ) {
return new WP_Error( 'upload_size_exceeded', __( 'File is too large.', 'text-domain' ), array( 'status' => 413 ) );
}
return true;
}
توضیحات کد
در اینجا یک متد به نام check_upload_size
داریم که پارامتر $file
را دریافت میکند. این پارامتر شامل اطلاعات فایل مورد نظر است.
سپس ما حداکثر اندازه آپلود مجاز را با استفاده از تابع wp_max_upload_size()
به دست میآوریم.
بعد از آن، فایل را بررسی میکنیم که آیا سایز آن بیشتر از مقدار مجاز است یا نه. اگر سایز فایل بزرگتر باشد، یک اشکال جدید از نوع WP_Error
برمیگردانیم و خطای مناسبی را با وضعیت HTTP 413 ارسال میکنیم.
اگر سایز فایل مجاز باشد، با بازگشت true
، نشان میدهیم که فایل برای آپلود مجاز است.