نحوه آپلود انواع فایل

نحوه آپلود انواع فایل های اضافی در وردپرس

توانایی مدیریت همه فایل هایی که در وردپرس در یک مکان (کتابخانه رسانه ای) آپلود می کنیم بسیار مفید است. برخی می گویند که کتابخانه رسانه ها می تواند بهبود یابد – بعضی از ویژگی های درخواستی  از دست رفته مانند برچسب گذاری فایل ها، مرتب سازی بر اساس موضوع یا فرمت فایل یا جستجو  تکراری هستند، اما مفید بودن آن هنگام استفاده مجدد یا به اشتراک گذاری فایل ها بین محتویات بدون نیاز به آنها را بیش از یک بار آپلود کنید

شاید نمی دانستیدکه وردپرس فقط اجازه آپلود فایل را در کتابخانه رسانه ای می دهد، در صورتی که چنین پرونده هایی با شرایط خاصی روبرو شوند.به این ترتیب شما می توانید انواع فایل های زیر را به طور پیش فرض در یک وردپرس استاندارد آپلود کنید:
تصاویر

  • .jpg
  • .jpeg
  • .png
  • .gif
  • .ico

اسناد

  • .pdf (Portable Document Format; Adobe Acrobat)
  • .doc.docx (Microsoft Word Document)
  • .ppt.pptx.pps.ppsx (Microsoft PowerPoint Presentation)
  • .odt (OpenDocument Text Document)
  • .xls.xlsx (Microsoft Excel Document)
  • .psd (Adobe Photoshop Document)

صوتی

  • .mp3
  • .m4a
  • .ogg
  • .wav

ویدئو

  • .mp4.m4v (MPEG-4)
  • .mov (QuickTime)
  • .wmv (Windows Media Video)
  • .avi
  • .mpg
  • .ogv (Ogg)
  • .۳gp (۳GPP)
  • .۳g2 (۳GPP2)
با این حال، همیشه این همه نوع فایل را نمی توان آپلود کرد – بعضی سرویس دهنده های میزبانی وب مجموعه ای از انواع فایل های معتبر و حتی حداکثر اندازه فایل را که می توانید در نصب خود بارگذاری کنید را محدود می کند.اگر مشکلی در آپلود برخی از انواع مجاز فایل وجود دارد، ابتدا برای دریافت توضیح با سرویس دهنده خود تماس بگیرید.

اطلاح wp-config.php

اگر نمیخواهید انواع فایلها را محدود کنید و بنابراین هر فایل را در کتابخانه رسانه ها آپلود کنید. ساده ترین راه برای دنبال کردن این است که خط زیر را در فایل wp-config.php اضافه کنید:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

فایل wp-config.php به ما اجازه می دهد رفتار پیش فرض وردپرس را تغییر دهیم. شما آن را در ریشه سرور خود پیدا خواهید کرد.

.با استفاده از بیانیه فوق ما اجازه می دهیم تمام مدیران هر نوع فایل را آپلود کنند. توجه داشته باشید که اگر شما بیش از حد به مدیران خود اعتماد نکنید و چه کاری انجام دهید، خطرناک است

. هنگام اضافه کردن این بیانیه مراقب باشید و یا ممکن است از تصمیم خود پشیمان شوید.

با استفاده از فیلتر upload_mimes

اگر میخواهید مشکل آپلود انواع فایلهای اضافی را به وردپرس حل کنید،اما انتخابی است و فقط به یک زیر مجموعه کنترل شده از انواع فایل اجازه می دهد
، بهترین کاری که میتوانید انجام دهید، استفاده از فیلتر upload_mimes است. همانطور که همیشه،  تمام اطلاعات در Codex دارید.
این فیلتر فوق العاده آسان برای استفاده است. شما فقط نیاز به اضافه کردن یک تکه از کد مشابه به موارد زیر در فایل functions.php از موضوع خود و در داخل یک پلاگین جدید از خود:
<?php
add_filter( upload_mimes, my_myme_types, 1, 1 );
function my_myme_types( $mime_types ) {
$mime_types[svg] = image/svg+xml; // Adding .svg extension
$mime_types[json] = application/json; // Adding .json extension
unset( $mime_types[xls] ); // Remove .xls extension
unset( $mime_types[xlsx] ); // Remove .xlsx extension
return $mime_types;
}
شما می توانید خط اول (<؟ php) را نادیده بگیرید، که به سادگی یک بلوک از کد PHP را باز می کند. خط ۲ نشان می دهد که function my_mime_types با فیلتر upload_mimes اجرا می شود. خطوط ۳ تا ۱۰ این تابع را تعریف می کنند. my_mime_types دارای یک پارامتر واحد ($ mime_types) لیستی از انواع فایل های مجاز است.
اگر میخواهید فایلهای SVG و JSON را در کتابخانه رسانه مجاز کنید، فقط خطوط ۴ و ۵ را به ترتیب اضافه کنید. این کار چگونه انجام می شود: برای افزودن یک نوع فایل جدید، شما فقط باید یک ورودی جدید در لیست $ mime_types با پسوند فایل و نوع MIME ایجاد کنید. برای پیدا کردن نوع MIME مناسب از فرمت بروید به لیست رسمی انواع رسانه ای که IANA (Numbers Authority Authority) تعیین کرده است.
از سوی دیگر، شما همچنین می توانید انواع فایل های خاص را غیر فعال کنید. شما می توانید انواع فایل های مورد نظر خود را با استفاده از آرشیو آرشیو $ mime_types، به همان اندازه که من در خطوط ۷ و ۸ انجام دادم، جایی که آپلود فایل مایکروسافت اکسل را غیرفعال کردم، ممنوع کنم.

خلاصه

همانطور که می بینید، تغییر رفتار پیش فرض WordPress به کنترل بیشتری بر انواع فایل هایی که در نصب شما اجازه می دهد بسیار ساده است. و از همه مهمتر، شما نیازی به نصب یک پلاگین پیچیده برای این ندارید. فقط با چند خط کد PHP و یا حتی ویرایش فایل wp-config.php شما می خواهید آنچه را که می خواهید دریافت کنید.