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

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

تابع ()mysql_data_seek در php...

در PHP بارها پیش می آید بعد از کوئری SELECT از تابع ()mysql_fetch_assoc یا تابع ()mysql_fetch_array استفاده کنید......

توابع رمزگذاری و رمزگشایی یک رشته با خروجی‌های متفاوت...

دو تابع encrypt و decrypt به ترتیب مربوط به رمزگذاری و رمزگشایی می باشند. اما تفاوتی که با حالت معمول دارند این است که خروجی تابع encrypt برای یک مقدار با هر بار فراخوانی متفاوت است. این ویژگی قطعا در...

برگرداندن کلیدهای آرایه به حالت uppercase یا lowercase...

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

تابع کنترل اطلاعات ورودی برای جلوگیری از تزریق به پایگاه داده...

ورودی‌ها همیشه باید کنترل شوند تا از خطراتی نظیر SQL Injection در امان بود. یک روش ساده و قوی برای این کار وجود دارد که خود وب سایت PHP آنرا توصیه نموده است. هر چند که شما می ...

نظر

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