跳到主要內容

發表文章

Apache Http Header

安裝了Apache後,總是要注意安全設定,而每次重灌後,總是容易忘東忘西...,所以就把一些基礎的筆記紀錄一下。 這次要設定的是標頭( Header )資訊,為了不讓別人知道自己伺服器資訊,至少要把 Header 中與伺服器相關的資訊關閉或是不顯示詳細資訊。 要如何知道自己傳送出去的 Header 呢? 以下用php簡單寫了一個範例程式 <?php //要測試的網址 $url = 'www.google.com' ; $timeout = 5 ; $ch = curl_init (); curl_setopt ( $ch , CURLOPT_URL, $url ); curl_setopt ( $ch , CURLOPT_HEADER, true ); curl_setopt ( $ch , CURLOPT_NOBODY , true ); curl_setopt ( $ch , CURLOPT_TIMEOUT, $timeout ); $header = curl_exec ( $ch ); curl_close ( $ch ); echo $header ; ?> 這樣就可以取得header資訊 :P。( curl_setopt詳細內容 ) 如果不想寫程式,當然有現成的工具可測試。 http://www.webconfs.com/http-header-check.php 一般預設的顯示資料如下(以目前使用的伺服器為範例) Date: Fri, 22 Feb 2013 12 : 15 : 03 GMT Server: Apache/ 2.2 . 15 (CentOS) Location: index.v Content-Length: 0 Content- Type : text/html; charset=UTF- 8 設定完Apache設定檔後顯示的資料如下。 Date: Fri, 22 Feb 2013 12 : 17 : 29 GMT Server: Apache Location: index.v Content-Length: 0 Content- Type...

[FFmpeg] CentOS安裝FFmpeg

在使用之前 FFmpeg 之前,要先進行安裝。 yum install ffmpeg ffmpeg-devel 因為Server是用 CentOS ,所以預設套件並不存在,而有個快速的方法就是新增Dag套件庫,在 /etc/yum.repos.d/ 新增  dag.repo  檔案,此檔案內容如下 [ dag ] name = Dag RPM Repository for Red Hat Enterprise Linux baseurl = http://apt.sw.be/redhat/el $releasever /en/ $basearch /dag gpgcheck = 1 enabled = 1 設定完後,在執行一次安裝,卻發現沒有 GPG 公開金鑰,這時還要進行安裝 RPMforage 套件庫。 rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm 這時應該都能順利安裝了。(詳細資訊可參考: How to Install FFmpeg in Linux ~The Easy Way~ ) 其他資訊: FFmpeg指令集

使用jQuery的Plugin管理cookie

為了能在javascript上管理cookie,因此採用了jQuery的Plugin: jQuery.Cookie 如何使用呢? 上面的連結是連到github,可以看到有個README.md檔案,裡面有說明如何使用。 以下是範例內容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //Create session cookie: $.cookie( 'the_cookie' , 'the_value' ); //Create expiring cookie, 7 days from then: $.cookie( 'the_cookie' , 'the_value' , { expires: 7 }); //Create expiring cookie, valid across entire site: $.cookie( 'the_cookie' , 'the_value' , { expires: 7 , path: '/' }); //Read cookie: $.cookie( 'the_cookie' ); // => "the_value" $.cookie( 'not_existing' ); // => null //Delete cookie: // Returns true when cookie was found, false when no cookie was found... $.removeCookie( 'the_cookie' ); // Same path as when the cookie was written... $.removeCookie( 'the_cookie' , { path: '/' }); 這時候就可用PHP印出cookie,確認是否有成功。 1 2 3 <?php var_dump ( $_COOKIE ...

使用SimpleXML讀取XML資料 - PHP

SimpleXML是在php 5.0之後就是核心組成,所以是不需要額外安裝的。 (所以使用SimpleXML記得要檢查php版本喔!) 做個簡單的小範例,使用臺灣郵局 - 3+2碼郵遞區號XML檔 部分資料 1 2 3 4 5 6 7 8 9 <NewDataSet> <Zip32> <Zip5> 10042 </Zip5> <City> 台北市 </City> <Area> 中正區 </Area> <Road> 秀山街 </Road> <Scope> 全 </Scope> </Zip32> </NewDataSet> 這時如果我們只想建立一個陣列,就是City->Area陣列,也就可以取得['台北市'][0] = ['中正區'] 以下是範例程式碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php $address = array (); $xml = simplexml_load_file ( "test.xml" ); foreach ( $xml -> children () as $zip ){ $city = trim((string) $zip -> City ); $area = trim((string) $zip -> Area ); $address [ $city ] = array ( $area ); } var_dump ( $address ); ?> 第7行與第8行為什麼要強制轉型成string,則是因為$zip->City取出來的值是物件,所以必須得轉型,否則是無法拿來作為key使用。 輸出結果如下 1 2 3 4 5 6 7 array( 1 ) { [ "台北市" ]=> array( 1 ...

新增一筆與某筆資料部分相同 - MySQL

當需要新增一筆,與現有資料庫相似的資料,要如何做呢? 最簡單的想法就是先用 Select 取出自己要的資料,再用 Insert ,但是這樣需要兩個動作,而且還必須去截取Select的資料。所以為了能更快速新增相似資料,就寫簡單的SQL範例。 1 2 3 4 INSERT INTO TableName (Name, PhoneNumber, URL) SELECT Name, PhoneNumber, 'http://chuehnoneinfonote.blogspot.tw/' FROM TableName WHERE UID = '7' TableName就是資料表名稱,跟著後面括號的三個欄位,則是要寫入的欄位名稱。 Select則是要按照順序取得欄位,URL這個欄位,則是為了表現出能夠與原資料不同的地方,所以用了本Blog的網址,當然這裡可以設一個變數去做寫入。 這應該是最基本的 Insert 與 Select 複合使用。

自己定義的陣列排序 - PHP

自己定義的陣列排續,不外乎就是以下三個函數: usort 、 uasort 、 uksort 以下是完整的程式碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 <?php /** 初始資料設定 **/ $id = array ( 0=> '#0001' , 1=> '#0002' ); //給usort測試的陣列 $u_data [ $id [ 0 ]] = array ( 'date' => '2012-08-12' , 'note' => '上海出差' ); $u_data [ $id [ 1 ]] = array ( 'date' => '2012-08-17' , 'note' => '北京出差' ); //給uasort測試的陣列 $ua_data [ $id [ 0 ]] = array ( 'date' => '2012-08-12' , 'note' => '上海出差' ); $ua_data [ $id [ 1 ]] = array ( 'date' => '2012-08-17' , 'note' => '北京出差' ); //給uksort測試的陣列 $uk_data [ $id [ 0 ]] = array ( 'date' => '2012-08-12' , 'note' => '上海出差' ); $uk_data [ $id [ 1 ]] = array ( 'date' => '2012-08-17' , 'note' => '北京出差' ); ...

input 陣列 - PHP

要如何在 input 裡面回傳陣列資料呢? 就寫了一個簡單的小範例。 以下是 php 原始碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?php /** 印出Get裡面的資訊 **/ if ( ! empty ( $_GET )) print_r ( $_GET ); /** 初始資料設定 **/ $id = array ( 0 => '#0001' , 1 => '#0002' ); $data [ $id [ 0 ]] = array ( 'date' => '2012-08-12' , 'note' => '上海出差' ); $data [ $id [ 1 ]] = array ( 'date' => '2012-08-17' , 'note' => '北京出差' ); /** 印出表單資訊 **/ echo "<form method='get'>" ; foreach ( $data as $key => $row ){ echo "<input type='text' name=' { $key } [date]' value=' { $row [ 'date' ] } ' />" ; echo "<input type='text' name=' { $key } [note]' value=' { $row [ 'note' ] } ' />" ; echo "<br />" ; } echo "<input type='submit' value='送出' />" ; e...