دریافت پسوند فایل در php یکی از عملیات مهم برای اعتبارسنجی و آپلود فایل است . شما به راحتی می توانید فرمت فایل یا همان پسوند از نام فایل یا مکان فایل توسط php بدست بیاورید .
در این آموزش , به شما چند روش برای دریافت پسوند فایل در php را نشان می دهیم .
توابع سفارشی php
تابع get_file_extension()
پسوند فایل در php را با استفاده از توابع substr() و strrchr() برگشت (return) می دهد.
Substr()
– بخشی از رشته (string) را برگشت می دهد.
Strrchr()
– آخرین مقدار بعد از یک رشته را در یک رشته پیدا می کند .
به کد php زیر توجه کنید :
1 2 3 |
function get_file_extension($file_name) { return substr(strrchr($file_name,'.'),1); } |
نحوه استفاده
کافی است که نام فایل را به تابع get_file_extension پاس بدید . این تابع پسوند فایل را به شما برگشت می دهد که می توانید در یک متغییر ذخیره و یا چاپ کنید ..
1 |
echo get_file_extension('image.jpg'); |
تابع سفارشی دوم برای دریافت پسوند فایل در php
در اینجا ما از تابع explode که یکی دیگر از توابع پرکاربرد کار با رشته ها در php است که در مقاله تابع explode و implode در php در مورد این تابع صحبت کردیم .
این تابع به عنوان آرگومان اول رشته یا متغییر حاوی رشته را دریافت و به عنوان آرگومان دوم رشته چسبنده این رشته را دریافت میکند .در مثال ما که دریافت پسوند فایل در php است , پسوند فایل ها با . (نقطه) از هم جدا شده اند .
خروجی این تابع یک آرایه شامل رشته ها است که دوباره با استفاده از تابع end()
اینبار آخرین خانه از آرایه را برگشت می دهیم که دقیقا همان پسوند اصلی فایل ما است .
1 2 3 |
get_file_ext($filename){ return end(explode('.',$filename)); } |
که نحوه استفاده دقیقا همانند روش اول است.
تابع pathinfo() در php
تابع pathinfo()
آسان ترین راه برای دریافت پسوند فایل در php را در اختیار ما قرار میدهد.
- Pathinfo – اطلاعاتی در مورد مسیر , نام اصلی و پسوند فایل برگشت می دهد.
نحوه استفاده
می توانید نام فایل و یا حتی فایل همراه با آدرس url و یا آدرس نسبی را در تابع pathinfo() پاس بدید. این تابع اطلاعات (نام دایرکتری , اسم اصلی فایل و پسوند) فایل داده شده را برگشت میدهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$path_parts = pathinfo('files/netparadis.pdf'); // دایرکتری فایل $directoryName = $path_parts['dirname']; // نام اصلی فایل $baseFileName = $path_parts['basename']; // پسوند فایل $fileExtension = $path_parts['extension']; // نام فایل $fileName = $path_parts['filename']; |
خروجی این تابع هم به صورت آرایه ای است که ما هر یک از اطلاعات این خانه را در مثال زیر خوانده و در یک متغییر مرتبط ذخیره کردیم .
همچنین این تابع یک آرگومان دوم به عنوان آپشن دریافت می کند که مستقیما می توانید برای دریافت پسوند فایل استفاده کنید .
1 |
$extension = pathinfo( $name, PATHINFO_EXTENSION ); |
امیدوارم از این آموزش کوتاه و کاربردی دریافت پسوند فایل در php لذت برده باشید.
هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.
سلام من یک آپلودر دارم میخوام فقط فقط فایل .sql آپلود کنه چطور تشخیص بده که اگه با .sql مساوی بود ادامه بده با آپلود در غیر این صورت خطا بده مرسی سایتتونم عالیه
سلام ممنون از شما.
داخل این مقاله گفتم که چجوری یه آپلودر بسازید و در بخش محدودیت پسوند و نوع فایل آپلودی هم میتونید پسوند فایل رو مشخص کنید
https://netparadis.com/upload-file-php
دمتگرم همیشه حال کردم با مطالب سایتت
سلام. مرسی از انرژی مثبتت