تابع گرفتن نام اصلی فایل از URL

۵ سال پیش(به روز شده در ۵ سال پیش) پی اچ پی(PHP)(توابع) ۰

گاهی براحتی میتوان از یک آدرس اینترنتی متصل به یک فایل ، نام فایل را براحتی بدست آورد اما در وب جدید بدلایل دستکاری URLها برای سئو ، به خاطر سپاری راحتتر و سایر موارد نمیتوان از آدرس مورد نظر نام فایل اصلی را شناسایی کرد برای اینکار نیاز داریم تا از هدر HTTP کمک بگیریم تابع زیر این کار را براحتی انجام می دهد یعنی نام فایل اصلی یک URL را بر می گرداند. عملکرد تابع کاملا مشخص است و به مثال برای درک بهتر موضوع توجه کنید.

توجه: منظور از نام فایل ، صرفا نام اسکریپتی آن نیست.

function realFilename($url)
{
   $headers      = get_headers($url, 1);
   $headers      = array_change_key_case($headers, CASE_LOWER);
   $realfilename = '';
 
   if(isset($headers['content-disposition'])) 
      {
         $tmp_name = explode('=', $headers['content-disposition']);
         if($tmp_name[1]) 
            {
               $realfilename = trim($tmp_name[1], '";\'');
            }
      } 
   else  
      { 
         $info         = pathinfo($url);
         if(isset($info['extension']))
            {
               $realfilename = $info['filename'].'.'.$info['extension']; 
            }
      } 
 
  return $realfilename;
}

مثال

//Out = logo11w.png
echo realFilename('https://www.google.com/images/srpr/logo11w.png'); 
 
//Out = RIGHT_JOIN_-_MySQL.png
echo realFilename('http://vtwo.org/en/download/web/image/14/RIGHT_JOIN_-_MySQL.png&imagesize=medium');

برچسبها

PHP Function

صفحات پیشنهادی

تابع تبدیل تاریخ میلادی به شمسی...

تابع تبدیل تاریخ میلادی به شمسی. دو تابع اولیه مربوط مشخص کردن کبیسه بودن سالهای شمسی و میلادی است......

تابع تبدیل حجم فایل به بایت با توجه به فرمت آن...

با استفاده از تابع زیر می توانید حجم فایل سایز ورودی که می تواند به همراه فرمت باشد را به بایت بدست آورید. بعنوان مثال شما می توانید حداکثر حجم فایل برای آپلود که در php.ini تنظیم شده است را به بایت ب...

تابع کپی فایل از هر آدرس دلخواه...

تابع زیر آدرس مورد نظر را در دایرکتوری مقصد کپی می کند. توجه شود که تابع copy فقط مختص کپی فایلهای اینترنتی نیست. function WgetFile( $URL, $dir ) { $nomefile = $dir . "/" . basename( $URL ); ...

تابع تبدیل تاریخ(TimeStamb) به فرمت دلخواه...

این تابع تاریخ با فرمت TimeStamb را به فرمت دلخواه تبدیل می نماید. function changeTimeStamp( $date, $dateOutput ) { $year = substr( $date, 0, 4 ); $month = substr( $date, 5, 2 ); $day = subst...

نظر

نظری ثبت نشده است.
captcha image reload