這篇文章主要介紹了php使用function_exists判斷函數(shù)可用的方法,通過一個圖像處理函數(shù)中使用function_exists函數(shù)判斷并輸出來實現(xiàn)函數(shù)存在判斷與流程靈活控制的功能,具有很好的借鑒價值,需要的朋友可以參考下
本文實例講述了php使用function_exists判斷函數(shù)可用的方法。分享給大家供大家參考。具體如下:
本文所述的函數(shù)用來建立一張 gif 格式圖形,參數(shù) im 為使用 imagecreate() 所建立的圖片代碼,參數(shù) filename 可省略,若無本參數(shù) filename,則會將圖片直接送到瀏覽器端,記得在送出圖片之前要先送出使用 content-type: image/gif 的標(biāo)頭字符串 (header) 到瀏覽器端,以順利傳輸圖片。若要使用透明背景的 gif 圖,也就是 gif89a 的格式,需要先使用 imagecolortransparent() 配置透明背景,代碼如下:
- $values=array(
- 40,50, //第一個頂點的坐標(biāo)
- 20,240, //第一個頂點的坐標(biāo)
- 60,60, //第一個頂點的坐標(biāo)
- 240,20, //第一個頂點的坐標(biāo)
- 50,40, //第一個頂點的坐標(biāo)
- 10,10 //第一個頂點的坐標(biāo)
- );
- $im=imagecreatetruecolor(250,250); //創(chuàng)建圖像
- $bg=imagecolorallocate($im,200,200,200); //定義灰色背景
- $yellow=imagecolorallocate($im,255,255,0); //定義黃色前景
- imagefilledpolygon($im,$values,6,$yellow); //畫出多邊形
- header('content-type: image/png');
- //判斷gif函數(shù)是否存在
- if(function_exists("imagegif"))
- {
- //如果存在,以gif格式輸出
- header("content-type: image/gif");
- imagegif($im);
- }
- //判斷jpeg函數(shù)是否存在
- elseif(function_exists("imagejpeg"))
- {
- //如果存在,以jpg格式輸出
- header("content-type: image/jpeg");
- imagejpeg($im, "", 0.5);
- }
- //判斷png函數(shù)是否存在
- elseif (function_exists("imagepng"))
- {
- //如果存在,以png格式輸出
- header("content-type: image/png");
- imagepng($im);
- }
- //判斷wbmp函數(shù)是否存在
- elseif (function_exists("imagewbmp"))
- {
- //如果存在,以bmp格式輸出
- header("content-type: image/vnd.wap.wbmp");
header() 函數(shù)向客戶端發(fā)送原始的 http 報頭,認(rèn)識到一點很重要,即必須在任何實際的輸出被發(fā)送之前調(diào)用 header() 函數(shù)(在 php 4 以及更高的版本中,您可以使用輸出緩存來解決此問題):
- imagewbmp($im);
- }
- else
- {
- //如果都不支持,輸出內(nèi)容
- die("no image support in this php server");
- }
該代碼判斷多種圖像支持,然后用相應(yīng)的格式輸出圖像.
語法:int imagegif(int im, string [filename]);
返回值:整數(shù),函數(shù)種類:圖形處理
希望本文所述對大家的PHP程序設(shè)計有所幫助。
新聞熱點
疑難解答