發表文章

目前顯示的是 2011的文章

解決 unbutu 上中文檔名無法解壓縮

圖片
在linux中對於中文檔名的編碼方式和windows是不同的,在正常桌面環境下系統會自動轉換所以看起來沒有什麼特別的障礙,但是如果中文是出現在壓縮檔中時就會造成亂碼而無法解壓縮的問題。
在網路上面找一堆解決方式大多都是要先進行轉碼再解壓縮的程續。
現在有一個套件可以解決這個問題:PeaZip 官方網站:http://www.peazip.org/peazip-linux.html
很可惜這個不在ubuntu的軟體資料庫中,所以我們必需要在官方網站上面進行下載。我是選擇deb檔案下載啦!你也可以選擇你自己適合的檔案格式進行下載。
下載後點兩下一樣會進入軟體中心安裝,這時只要按照一般的方式安裝即可。
另一個很可惜的地方是它並不會取代掉原先的壓縮管理工具而且安裝完後在軟體清單中也找不到,我們要呼叫出來的方式只能用指令來把它叫出來。
除非你想要每次都輸入指令呼叫peazip來解壓縮,或者你可以跟著我這樣做。
step1.找一個壓縮檔案上按右鍵點選"屬性" step2.點選"以此開啟"頁籤 點選顯示其它的應用程式找到peazip然後設為預設值就可以了。

--------------------------------------不介意都是英文界面的下面可以不用管------------------------------------------ 正所謂好的軟體一定要有正體中文化,所以這是好軟體 先執行peazip (你可以在指令介面直接輸入peazip就可以)
找到Options-->Localization 會出現一堆txt檔案,這些是各種不同的語系檔案我們只要挑選cht.txt就可以使用中文界面了。

ubuntu 11.1 發行版更新

圖片
最近開始在改變自己使用最近開始在改變自己使用ubuntu系統,本來用的發行版是11,在軟硬體相容性上面已經做的已經不錯了(不過真的要用還是要作細部調校就是了)。

今天早上起來發現一件有趣的事情!ubuntu11.1推出了~

花了一點時間作線上更新
基本上更新的過程滿無痛的,因為本來支援的程式沒有因為這樣就掛了~不過在安裝更新的過程中,ubuntu會強制把你的網路斷線。這點和windows不太一樣。所以如果你正在忙~請找個吃飯時間之類的再來作這件事。(大約20分鐘左右)


更新完以後長這樣,左手邊多出了一個叫做啟動區的東西。跟windows所謂的工具列類似。不過我個人覺得有點礙事就是了。
貼心的一點是,當我們在執行某個程式的時候把視窗畫面放到最大這個啟動區就會自己隱藏起來。

最有趣的更新其實是軟體中心的部份:(已經有market的感覺了)
分類更加的清楚以外,也開始有更多的介紹說明。(經過兩大手機軟體市集的訓練,他們也該知道怎麼做了吧!) 這次也加上一些推薦:特別適合我們這種不太知道有什麼好物的新手拿來安裝玩玩。

其他貼心的更新: 如果你和我一樣,用來用去常用的軟體都是那幾個。那麼你只要點選最左上角的那個只要點選最左上角的那個icon就可以叫出軟體選單。他一開始就會貼心的列出最常用的軟體和最近使用的檔案。


還有更多更新的貼心功能:(沒有截圖,你就自己試試看吧!) 試著玩玩看多桌面的功能,如果你有玩過之前版本的多桌面,重新體驗一下ubuntu11.1給你的新體驗吧。 使用者登入的畫面也變美了(個人觀點)
總之~目前為止我必須要說:如果你已經在用ubuntu那麼,ubuntu 11.1這個發行版不會讓你失望!

附帶一題,不過這是很重要的觀念: linux是一種作業系統核心,ubuntu則是架構在某個核心版本上的發行版,而上面看到美美的桌面圖片都是都是linux的視窗套件(X-Window)。 我們現在看到的桌面套件名稱為 Gnome 3 (ubuntu 11.1 主打的項目之一)。不過如果覺得不習慣或是浪費資源,也可以自己安裝別的桌面套件在 ubuntu11.1中。

svn 忽略特定目錄

程式開發的過程中我們常會用svn作為版本管理的工具。主要可以提供多人同時編輯程式時可以不會發生互相蓋檔的窘境。 不過有些資料夾原則上是不用(也不應該)被svn列管的。例如說:使用者上傳的圖檔之類的。
當我們要把資料夾解除列管的時候我們只要輸入以下指令:
svn ps svn:ignore “*” 資料夾名稱 最後要記得用 svn ci 將這個變更送出確認就可以啦!

ubuntu 關閉惱人的觸控板

圖片
筆電裏面都會有內建觸控板,ubuntu 在裝好以後也會自動啟用這樣的功能。不過~老實說我很討厭觸控板,要怎樣才會可以關掉呢? 筆電鍵盤上面的fn功能?沒辦法!
根據ubuntu正體中文網站上面的說明,只要安裝apt-get install gsynaptics就行了!但是,根據實驗的結果,我的筆電關掉設定畫面以後觸控板還是很低調的活下來了。只有設定當下可以被關閉?



後來還是被我找到了可以直接用指令關掉觸控板的方式


synclient TouchPadOff=1 //關閉觸控板
synclient TouchPadOff=0 //開啟觸控板
接下來,還要記得去系統->偏好設定->滑鼠
將打字時停用觸控板這個選項取消勾選。這樣才算完成喔


如果你跟我一樣討厭觸控板,可以設定成開機執行關閉的功能


SELINUX 關閉!

話說我們在設定LINUX的檔案和資料夾權限的時候,我們通常都會直接用chmod去作修改和設定。這個方法簡單好用但是還是有人覺得不夠嚴謹,因此在後期的LINUX上我們都會發現SELINUX這個服務。但是對我們這種LINUX還不是很認識的人相對就叫苦了!

通常SELINUX因為權限的關係禁止我們安裝某些軟體,啟動某些服務或是修改某些檔案。而且他的安全層級在我們chmod之上,因此就算我們已經把檔案設成777只要SELINUX 說不行就不行!
那~我們還是把SELINUX關閉了吧!(一整個很逃避)
關閉SELINUX不是用我們一般常見的service 指令下去關閉,當然要設定成開機不起動也就不會是用chkconfig來關閉啦!
vi /etc/selinux/config 找到這行 SELINUX="" 改成 disabled 後記:這幾天小灰狼在新的機器上面設定新的wordpres的時候也是遇到一樣的問題,不管上傳什麼圖檔或是樣板檔案都會出現"上傳的檔案無法被移動至/XXX/XXX/XX"就算是設定777也無效,這時候就是要設定這個SELINUX讓他關閉啦

ubuntu 必裝軟體「Deluge」BT下載軟體

圖片
其實ubuntu中自己有內建一套BT下載軟體 不過因為太難用了,所以我另外又灌了一套Deluge。可以解決一個很奇怪的問題就是:ubnutu內建的BT軟體下載太慢或是根本完全不會動@@
當然,被我推薦的軟體一定是中文介面的啦
看看他的設定畫面(也是中文喔~而且應有盡有)
安裝非常的方便!只要在Ubuntu軟體中心裡面搜尋Deluge就可以安裝啦!就是這麼簡單

ubuntu 推薦php編輯器 Geany

圖片
最近開始愛上用ubundu10作為工作上面的作業系統了,終於可以擺脫微軟的控制了真是開心
不過,ubundu 並沒有內建好用的PHP編輯軟體,原本習慣的notepad++在ubuntu上沒辦法用只好另謀出路了。在網路上面找了一下大家都推薦vim這個東西,拜託~我如果想要用vim我乾脆直接裝指令模式的系統就好就不用桌面系統啦!
找很久以後被我找到這一套,非常好用Geany
直接在ubuntu的軟體中心裡面就可以找到這套軟體實在是非常方便!(尤其是他是中文版的,這點非常重要)

簡單介紹一下推薦Geany作為php 開發工具的原因吧! 中文介面程式碼顏色標記變數整理視窗(還有function也會被整理出來喔)內建終端機(這個最屌!誰會想得到裡面竟然內建終端機呢) 另外~這個軟體如果說要有個小缺點的話~他的快捷鍵和中文輸入法的切換(ctrl+space)有衝突到!這個部份請到"編輯->Preferences"裡面的Keybindings把這個衝突的地方清掉就可以輸入中文了





CSS 文字內容無法自動換行問題

我們在設定區塊內容的時候通常都會用p或是div標籤作區塊的設定
大部分的情況這些區塊的內容是會自動換行的,不過有一個特例情況:拼命輸入的連續字母或數字他會被強制在同一行裡面顯示,因此會出現怪怪的跑版現象。不過這個問題在正式內容裡面不容易出現,因為只要有一個空格就可以讓他換行了,要讓一個單字有夠長的連續字母導致沒有換行還真是不容易。
不過為了避免這個問題的產生可以輸入下面這個語法還是可以強制他自動換行 word-wrap : break-word ;

讓linux上的apache不區分大小寫

我們在寫linux時,目前都是比較普遍使用LINUX。不過LINUX上面有一個比較麻煩的一件事情是,其實LINUX整個作業系統都是屬於大小寫敏感的。
也就是說:
PHOTO.jpg

photo.JPG
這兩個檔案是完全不一樣的喔!
但是在某些情況下,我們還是會需要讓LINUX的設定比較不那麼嚴格。在這個時候我們只需要在apache的config中設定一下就好了。
首先:
找到 /etc/httpd/conf/httpd.conf
LoadModule speling_module modules/mod_speling.so

這個模組其實預設已經有了而且沒有被註解起來,不過我們還需要在/etc/httpd/conf/httpd.conf裡面多加一個

CheckSpelling on

存檔後重新啟動httpd服務就可以啦

在ckediter 和 ckfinder中達到縮圖的功能

在ckediter中 要達到圖檔上傳需要搭配 ckfinder這個外掛模組來實現。
其實,在ckfinder中不只是提供上傳這麼簡單,他同時也可以達到縮圖的動作,只要在ckfinder的根目錄/底下找到
config.php這個檔案
找到這段
$config['Thumbnails'] = Array(
'url' => $baseUrl . '_thumbs',
'directory' => $baseDir . '_thumbs',
'enabled' => true,
'directAccess' => false,
'maxWidth' => 100,
'maxHeight' => 100,
'bmpSupported' => false,
'quality' => 80);
其中,'enabled' => true,就表示縮圖功能有被打開,這時候就要再來去看一下
$config['Images'] = Array(
'maxWidth' => 1000,
'maxHeight' => 1000,
'quality' => 100);
這三個屬性分別代表最大容許的寬、高、縮圖品質。只要在這邊去做細部調整就可以啦

相關文章:
html線上所見即得編輯器套件 懶人包

讓網頁使用google提供的雲端字型

對於網站開發人員來說,特別設定使用字型是很無聊的事情,因為在對方的電腦中很有可能是沒有安裝這個字型的。如此一來,使用者還是只能看到醜醜的內建字型。

google Web Fonts 提供了這個問題的解決方案,將字型放到雲端,讓google提供給使用者,這樣總沒有內建字型的困擾了吧!
不過本服務目前只提供英文字型,中文字型的提供...我想應該是有得等了。

CSS3 圓角和陰影語法

在早期我們作網站版面最害怕遇到圓角和陰影這兩種東西,因為要用掉很多圖片拼起來才能讓頁面上面看起來像是。


不過在css3裡面已經有提供圓角和陰影的語法了,今天是2011/6/30目前的瀏覽器IE9還是不支援這兩種語法(放棄他了),火狐和Chrome都有支援,如果你不想要讓網頁上面都是一堆破碎的圓角素材還讓你的語法亂七八糟的話可以考慮一下(反正IE看不到特效但是還不至於跑版)

今天有同事大人找到IE的解決方式了~請把瀏覽模式切換成IE9模式就可以看的到了...

box-shadow:2px 2px rgba(20%,20%,20%,0.2);

上面這段box-shadow很明顯的就是設定陰影了,2px 2px表示陰影的偏移量,至於rgba參數則是陰影的顏色和透明度

border-radius:10px;
至於border-radius這個設定就是圓角了,如果我們只給一個參數就是四個角都一樣的設定
ps:
border-radius同樣支援語法縮寫(左上10px/右上0/右下10px/左下0)

在網頁上顯示Google推薦

上面看到的這個功能叫做Google+1

功能其實就是屬於Google的推薦功能
提供的網址如下
http://www.google.com/intl/zh-TW/webmasters/+1/button/

多說無益自己試試吧!

下面是google +1 的常見問題集
http://www.google.com/support/webmasters/bin/answer.py?answer=1140194


比較有趣的內容應該是下面這一段
+1 對搜尋結果造成什麼影響?
+1 可協助使用者得知其他已知且信任的使用者推薦的相關內容,包含網站、Google 搜尋結果或廣告。如果您在自己的網站上放置 +1 按鈕,使用者便能向好友與聯絡人推薦您的內容,讓他們在 Google 搜尋結果中看到相關的推薦資訊。

使用者登入 Google 進行搜尋時,您的 Google 搜尋結果摘要會加註該使用者的社群聯絡人中有哪些人 +1 了您的網頁。如果使用者的社群聯絡人中沒有人 +1 您的網頁,那麼您的摘要只會顯示您網頁獲得的 +1 總數。

+1 會影響我的網站在搜尋結果中的排名嗎?
相較於陌生人士推薦的內容,好友和熟人推薦的內容通常與您息息相關。例如,專業影評的電影評論雖然非常實用,但是臭味相投的好友撰寫的評論對您而言更有意義。因此,Google 決定您的網頁和使用者查詢的關聯性時,最實用的指標就是來自好友和聯絡人的 +1。這只是 Google 用來決定網頁關聯性和排名的其中一種指標,我們不斷調整和改進演算法,期盼能增進整體搜尋結果的品質。對於 +1 這項全新排名指標,我們會像往常一樣,於開始採用時謹慎評估效果,並瞭解這些指標對搜尋結果的品質造成什麼影響。

取消 phpMyAdmin 的連線時間1440秒的限制

話說phpMyAdmin在我們開發程式時的好朋友,不過他有一個1440秒的登入時間限制(應該是安全性的關係吧)

但是其實我很討厭這個限制,所以我們要來把這個限制時間拉長

我們要來修改

phpMyAdmin\libraries\config.default.php
這個檔案

$cfg['LoginCookieValidity'] = 1440;
把這個參數的值拉長就好啦!

php物件導向簡介

物件導向的寫法可以減低我們製作大量重複動作的時候的負擔
好的物件可以讓你上天堂不好的物件會讓你快抓狂~~~

一般而言,最簡單的寫法是這樣:


class a{
    function a_f(){
        動作內容;
        return 結果;
    }
}
如上面寫的 class表示一個類別 function表示類別中要執行的動作,執行完動作以後就會用return丟出執行結果。一個class中可以包含多個function 其中可以互相有相依性也可以單純只是你覺得放一起比較好??

正常的用法我們要使用整個class的東西的時候必須要將類別建立成物件
$a = new a;

上面這一段的語法就是把類別建立成物件實體,之後才可以使用物件實體的動作內容。
echo $a->a_f;
上面這一段就表示把a_f這個動作直接echo出來。當然你也可以拿來幹其他的事情。
==============================================================================

剛剛介紹的是要載入整個class的方式,不過有些時候我們並不需要使用整個class我們只需要用到其中一個小小的function而已我們也可以用靜態的方式來進行呼叫。
echo a::a_f();
這樣的效果就和上面那一段的結果是一樣的喔,就不需要特別new一個實體出來。

html線上所見即得編輯器套件 懶人包

圖片
我們在建置動態網站的時候其實在後台讓使用者可以自由編輯內文已經是很普遍的現象了
不過還要要來介紹一下CKeditor和Ckfinder這兩個東西

CKeditor 這是一套目前非常多人使用的線上編輯套件,基本上一般人會需要的功能都已經在裡面了,不過不知道為什麼裡面沒有包含圖檔上傳的功能。
好家在,官方有推出一個外掛叫做Ckfinder可以用來支援檔案上傳的功能(那幹嘛不建在一起)因此,大部分的教學文章都會把這兩個套件合在一起說明

下載檔案:
http://ckeditor.com/download  這裡面可以找到CKeditor和Ckfinder

step1:解壓縮CKeditor和Ckfinder
把兩個套件的壓縮檔解開後放在同一個階層的資料夾中(建議)另外在建立一個資料夾當作檔案上傳的資料夾

step2:修改CKeditor設定
CKeditor的設定檔只要修改 ckeditor/config.js 一個檔案就可以完成設定
剛開始打開的時候應該是什麼都沒有設定,這時候你只要把要使用ckfinder外掛的語法貼進來



CKEDITOR.editorConfig = function( config )
{

//ckfindor上傳功能設定
config.filebrowserBrowseUrl = 'ckfinder/ckfinder.html';
config.filebrowserImageBrowseUrl = 'ckfinder/ckfinder.html?Type=Images';
config.filebrowserFlashBrowseUrl = 'ckfinder/ckfinder.html?Type=Flash';
config.filebrowserUploadUrl = 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files'; //可上傳一般檔案
config.filebrowserImageUploadUrl = 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images'…

php也可以利用gmail發信 phpmailer

在php中有內建的mail函式不過這個方式要先在php.ini中進行設定而且功能非常有限,如果伺服器不是我們自己管的還真的不知道要怎麼辦!不過好險有phpmailer這個東西的推出
phpmailer 官網
這個套件可以幫助我們做更進階的發信功能,雖然他有提供php4,php5~6的版本不過,php4的我不想說了我們直接跳到php5的吧!
附帶一提:到目前為止(2011/3/22)官網上的下載連結是錯的~點php5版本的下載聯結還是走到php4版本的下載頁面
請點選下面連結下載正確的清單吧:
phpmailer 各版本下載


雖然應該要寫個教學範例,但是解壓縮以後竟然有一個examples資料夾耶!!挖~~最厲害的是他裡面的範例檔竟然還有專門為了gmail的伺服器寫的
也就是說拿著這個東西就可以利用gmail的伺服器發信給別人,真是佛心來的!!!


不過我們還是來小說明一下吧!
$mail->Host = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "yourusername@gmail.com"; // GMAIL username
$mail->Password = …

Linux的排程工作 cron

有些時候我們會需要linux幫我們定時的去處理一些循環要做的事情,例如清掉log檔案啦~備份啦~~之類的瑣事。
如果說都要人工去處理,通常一定都會忘記,所以我們要建立排程工作讓系統自動執行。 在linux上的排程工作是一個叫做cron的服務通常系統會預先開啟。不過我們也可以手動先去開啟 service crond start
不過一開始這個東西你執行了也沒用,因為這個服務他會每分鐘查找一個叫做crontab的檔案這個檔案就是用來記錄要執行動作的時間和動作
要編輯這個檔案你只要執行這個指令
crontab -e
他就會進入vi的模式中讓你進行編輯(一開始當然會是空空的),每一行就代表一件你要處理的排程工作,格式如下:
分 時 日 月 週 指令
就這麼簡單的格式,他最小的單位可以支援到每分鐘執行,就如同剛剛提到的因為他每分鐘會查一次這個檔案瞜!
要注意的是,每個欄位都是必填的,假設你要讓這個指令在每小時的20分都執行一次你就輸入成:
20 * * * * 動作
我習慣倒著看這張表:他的意思就是執行動作在每個小時的20分,*這個符號代表通用所以如果你要做到每分鐘都執行一次的話就會變成* * * * * 動作
或者你可以用半型逗號(,)來設定一個欄位執行多次
0,10,20,30,40,50 * * * * 動作
上面這段就會讓系統變成每十分鐘執行一次,如果你的週期間隔時間固定你也可以寫成
*/10 * * * * 動作
其中斜線(/)的意思就是作為間隔時間的設定,當我們都編輯完成後在vi中儲存就完成編輯的動作了。
不過就如同其他的系統服務,在修改過後請記得重新啟動這樣設定檔才會馬上被套用
service crond restart

讓文章中加入程式語法

在blogger中要加入程式語法其實一點也不難,只要掌握幾個重點:
1.你至少要知道怎麼修改css
    在"設計"中找到修改HTML的功能直接在裡面編輯一個專屬於程式語法用的class,我就取名為code夠明白吧!
然後在裡面貼上css的語法,如下:
.code{ background:#dfdfdf; color:#333333; padding:5px; border:1px solid #000; }
2.基本上blogger基於安全性理由是不會直接讓你貼上程式語法在前台中顯示的,所以我們要先經過轉碼,線上轉碼的網址:http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Encode.aspx
經過轉碼以後,再貼到"修改HTML"中對應的位置,記得要用pre標籤和 class=code包起來喔
如下:

經過轉碼後我們看到的內容是長這樣的
<pre class="code"> 這邊可以貼上語法<b>不會被處理掉</b> </pre>
把這個內容貼到編輯器中他會自動幫我們轉回來變成
<pre class="code"> 這邊可以貼上語法<b>不會被處理掉</b> </pre>

用php 直接執行linux指令

有些時候我們需要在網頁上就直接執行一些linux的指令讓事情變的比較簡單。
例如檔案大量複製刪除之類的指令,如果用php的語法下去寫有點累,但是linux指令只需要簡單一行。這時候我們可以直接使用exec()指令來執行系統指令。

用法:


$com ='系統指令';
exec($com);

執行後不會回傳任何訊息如果有需要回傳訊息可以用system()這個指令

參考資料
http://www.php.net/manual/en/function.system.php
http://www.php.net/manual/en/function.exec.php

php 判斷檔案是否存在 file_exists()

我們在做檔案上傳的時候有的時候會需要檢查一下是不是正確上傳到我們要的地方
或者是我們需要檢查伺服器中的某的檔案是不是存在的,這個時候就要用file_exists()這個指令

file_exists()用法:

file_exists(檔案路徑)

回傳的值是true 或 false所以我們可以直接用if去做這樣的判斷
if(file_exists(檔案)){
  echo '檔案存在';
}else{
 echo '檔案不存在';
}


需要注意的一點是:這個指令只支援本地端路徑,沒有辦法用在遠端路徑喔

linux 抓取遠端資料夾內容 SCP

當我們要把檔案和資料由A機器搬移到B機器時要用 SCP指令來開啟遠端的ssh通到來連線傳輸檔案

指令如下
[root@free ~]# scp -p 遠端帳號@遠端IP:遠端路徑(含檔名) 本地端路徑  //下載遠端檔案,並保留權限(-p)

[root@free ~]# scp -rp 遠端帳號@遠端IP:遠端路徑 本地端路徑  //下載遠端資料夾,並保留權限(-p)




如果說我們要連線過去的遠端主機是有經過特別設定ssh服務port的(就是不是用22這個port連線)那麼我們就要加上-P這個參數(P要大寫喔) 以下例如說是連到1234這個port
ssh -rp -P 1234 root@www1.123.com:/var/www/html /var/www/