2017-04-17 87 views
0
<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

if (! function_exists('image_thumb')){ 
    function image_thumb($courseBanner, $userId){ 
     $CI =& get_instance(); 
     $filename_ext = pathinfo($courseBanner, PATHINFO_EXTENSION); 
     $course_thumb_Banner = preg_replace('/^(.*)\.' . $filename_ext . '$/', '$1_thumb.' . $filename_ext, $courseBanner); 
     $url = base_url()."private/".$userId."/".$course_thumb_Banner; 
     $headers=get_headers($url); 
     $is_banner_there = stripos($headers[0],"200 OK")?true:false; 
     $url = ($is_banner_there)?$url: base_url()."public/images/placeholder.jpg"; 
     return $url; 
    } 
} 

在上面的代碼有時候$ courseBanner不會來,所以那個時候我想發這個base_url()."public/images/placeholder.jpg怎麼辦?當一個參數不起作用時該怎麼辦?

+0

它被稱爲設置默認;看到這個:http://stackoverflow.com/questions/9166914/using-default-arguments-in-a-function – WillardSolutions

+0

'function image_thumb($ userId,$ courseBanner = base_url()。「public/images/placeholder.jpg」 ){' –

+4

[在函數中使用默認參數]可能的重複(http://stackoverflow.com/questions/9166914/using-default-arguments-in-a-function) – WillardSolutions

回答

1

建議:

我覺得你可以設置默認值,如果在情況下,字符串(如$ courseBanner)爲空

例子:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

if (! function_exists('image_thumb')){ 
    function image_thumb($userId, $courseBanner = ''){ 
     $CI =& get_instance(); 
     $courseBanner = !empty($courseBanner) ? $courseBanner : base_url()."public/images/placeholder.jpg"; 
     $filename_ext = pathinfo($courseBanner, PATHINFO_EXTENSION); 
     $course_thumb_Banner = preg_replace('/^(.*)\.' . $filename_ext . '$/', '$1_thumb.' . $filename_ext, $courseBanner); 
     $url = base_url()."private/".$userId."/".$course_thumb_Banner; 
     $headers=get_headers($url); 
     $is_banner_there = stripos($headers[0],"200 OK")?true:false; 
     return $url; 
    } 
} 

這是僅供參考,所以希望這有助於

+0

如果只有一個參數被傳遞,它將拋出錯誤,因爲它將採用'coursebanner'的這一個參數,所有可選參數放在最後一個 –

+0

@ee ya請注意可選參數總是在最後出現,所以請更正您的函數結構以使函數image_thumb($ userId,$ courseBanner ='') –

+0

@Bunker Boy,@M A SIDDIQUI .Noted。我會編輯這個答案 – eeya

相關問題