程式筆記

[CSS] font 屬性簡寫

參考網站:http://www.w3schools.com/cssref/pr_font_font.asp

font有許多屬性,可區分成許多不同的個別屬性值,基本上都可以簡寫進font屬性中。

語法:
font: font-style font-variant font-weight font-size/line-height|caption|icon|menu|message-box|small-caption|status-bar|initial|inherit;

本篇筆記的重點在於這個部份,font-size/line-height ,這個還滿方便的,可以直接設定行高

讀取jpg檔的EXIF資訊

要讀取jpg檔的exif資訊,只要利用一個函式exif_read_data 就可以了,不過僅限於jpg或tiff的圖檔。

這個函式會回傳一個EXIF的陣列值,用法範例如下:

/**
* $filename : 檔名(含路徑)
* $sections : 可以僅擷取exif的部分內容,包含FILE,COMPUTED,ANY_TAG,IFDO,THUMBNAIL,COMMENT,EXIF
* $arrays   : 決定是否要以陣列形式回傳$sections指定的回傳值
* $thumbnail: 當設定為TRUE時,則讀取thumbnail
*/
array exif_read_data(string $filename [,string $sections=NULL [,bool $arrays=false [,bool $thumbnail=false]]])

 

[PHP] 數字補零

在PHP要讓數字自動補零的方法滿簡單的,基本上有兩種作法,分別利用sprintf()及str_pad()這兩個函數即可。

sprintf()

    $num = 1;
    $num2 = 1111;
    print sprintf("%03d", $num); //輸出 001
    print sprintf("%d", $num2);  //輸出 1111

 

str_pad()

    $num = 1;
    $num2 = 1111;
    print str_pad($num, 3, 0, STR_PAD_RIGHT); //輸出 100
    print str_pad($num, 3, 0, STR_PAD_LEFT);  //輸出 001
    print str_pad($num, 3, 0, STR_PAD_BOTH);  //輸出 010
    print str_pad($num, 3, 'a');              //輸出 1aa

[PHP] 陣列合併

要把陣列合併,需要用到 array_merge($a,$b) 這個函數,作法滿簡單的

 
 $a = array('1' , '2');
 $b = array('2' , '4');
 $c=array_merge($a,$b)    // 新的陣列 = array('1','2','2','4')

 

但如果要在合併後刪除重複的元素呢?這時候要多使用一個函數 array_unique()。

語法如下:

 $a = array('1' , '2');
 $b = array('2' , '4');
 $c=array_unique(array_merge($a,$b)); // $c=array('1','2','4')
附帶一提,若陣列元素為「物件」時,無法使用array_unique{} ;

[CSS] 純CSS繪製三角形與正六邊形

本篇主要會用到的CSS屬性為:border 。

應該有很多人沒辦法理解,所以一步一步來解釋一下:

1.首先,一般border會看到的樣貌,我們把線寬設大一點來看:

    height: 100px;
    width: 100px;
    border-top: 30px solid #C66;
    border-bottom: 30px solid #6C6;
    border-left: 30px solid #66C;
    border-right: 30px solid #CC6;
 

 

2.應該可以看到上左下右的邊框交接處都是斜線,所以我們可以利用這個特性來繪製三角形:

    width: 0;
    border-bottom: 30px solid #6C6;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;