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

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

مرتب سازی آرایه های چند بعدی با استفاده از اندیس خاص (sort array)...

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

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

تابع ()ceil عدد ورودی را به بزرگترین عدد صحیح گرد می کند. برای فهم بیشتر از کاربرد تابع ، مثالهای زیر را ببینید......

دو تابع کاربردی برای گرفتن متغیرهای ورودی در دو متد POST و GET...

لزوما در گرفتن متغیرهای ورودی که توسط کاربران ارسال می گردد(فرمها) در دو متد POST و GET می باشد. زمانی که شروع به برنامه نویسی می کنیم بهتر است مادامی که بررسی کنیم آیا متغیر اصلا ارسال شده و اگر نشده...

تابع نمایش امن ایمیل به کاربر...

تابع مورد نظر ، ایمیل کاربر را به حالت مطمئن(امن) نمایش می دهد تا کل آدرس افشا نشود. function printEMail($email) { $explode = explode('@', $email); return substr($explode[0], 0, 7).'...@'.$explo...

نظر

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