تابع گرفتن نام اصلی فایل از 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

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

توابع کار با رشته های با یونیکد UTF-8...

هدف پروژه مورد نظر , ایجاد توابعی است که با رشته های UTF-8 کار می کند. بعنوان مثال بخشی از کلاس را ببینید(تابع بررسی صحت رشته UTF-8)......

گرفتن زیرمجموعه های شناسه یک آرایه از کل آرایه به صورت تو در تو...

مدتی قبل برای گروه ما در یکی از پروژه ها به تابعی نیاز شد که هر چند جز کدهای ساده ایست اما کارهای بزرگی انجام میدهد. تابع زیر تمامی زیرمجموعه های یک شناسه بصورت تو در تو رو را شناسایی میکند. برای درک ...

نمایش آی‌پی کاربر در شرایط مختلف...

این تابع ip کاربر را در شرایط مختلف بر می گرداند. function get_ip() { $list = array( 'REMOTE_ADDR', 'CLIENT_IP', 'HTTP_CLIENT_IP', 'HTTP_PROXY_CONNECTION', 'HTTP_FORWARDED', 'HTT...

تابع چک کردن حجم رشته ورودی و محاسبه حجم آن...

تابع ()valid_size مقدار رشته ورودی را محاسبه کرده و سپس بررسی می کند که کمتر و برابر از رشته ورودی است که در صورت درستی شرط مقدار طول رشته به کیلوبایت و در غیر اینصورت مقدار False را بر می گرداند. fun...

نظر

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