2013年4月12日 星期五

putty 可以用中文


讓Putty以UTF-8顯示中文
以UTF-8顯示

Server 端設定
#vi /etc/profile
LC_CTYPE=en_US.ISO8859-1; export LC_CTYPE
LC_CTYPE=zh_TW.UTF-8; export LC_ALL
LANG=zh_TW.UTF-8; export LANG

SSH 連線軟體 Putty 設定:
Change Settings ->> Translation ->> Character set translation on received data ->> 選UTF-8

2013年4月10日 星期三

無痛安裝 Wordpress on CentOS 6 設定篇

無痛安裝 Wordpress on CentOS 6 設定篇

mysql_installdb
如果使用no-ip.org轉址,記得進到後台修正網址。

rm -rf ~/wp-content/plugins/abc #裝外掛如果導致無法登入,把外掛砍掉

vim /var/www/html/project/.htaccess #設定project的htaccess
限制存取wp-includes目錄
<files wp-config.php> #設定wp-config.php 無法存取
order allow,deny
deny from all
</files>

加入apache  密碼保護
vim /etc/httpd/conf/httpd.conf
將 directory "/home/apache" 參數 allowoverride 設定成 all
<files wp-login.php> #設定登入頁面要密碼
AuthName     "Protect login by .htaccess" #名稱
Authtype     Basic
AuthUserFile /var/www/apache.passwd #儲存密碼檔案
require valid-user #apache.passw設定的user可登入
</files>


# Block the include-only files. #禁止存取wp-includes資料
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
# BEGIN WordPress

vim /var/www/html/.htaccess #設定DocumentRoot的.htaccess
LimitRequestBody 10240000 #避免駭客透過Dos攻擊,限制單檔大小10MB
Options -Indexes #開啟禁止目錄索引功能

安裝Akismet 外掛 #防垃圾留言

官方建議設定是所有目錄設定755,所有檔案設定644

在wp-config.php 加入 define('DISALLOW_FILE_EDIT', true); 
#關閉後台佈景編輯功能

更改wp-login.php 的網址

if($_GET["secret"]!="password")
{
    header('Location: http://example.com');      
}  
隱藏wordpress版本
#在佈景主題的functions.php加入語法

function wpbeginner_remove_version() {return '';}
add_filter('the_generator', 'wpbeginner_remove_version');

加入Facebook Like Box
外觀->模組->挑選文字
<iframe src="//www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FMyRabbitsPuppyBaby&amp;width=200&amp;height=296&amp;show_faces=true&amp;colorscheme=light&amp;stream=false&amp;border_color&amp;header=false&amp;appId=139820942838245" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:296px;" allowTransparency="true"></iframe>

按下去置頂
安裝外掛 Dynamic “To Top" Plugin

來信告知
Usernoise modal feedback / contact form

插入繼續閱讀
編輯器裡面按下"繼續閱讀"選單

你可能會喜歡之文章
安裝 nRelate 外掛

檔案監控防駭客
WordPress File Monitor Plus

標籤雲
安裝快掛 WP-Cumulus

下一篇上一篇 麵包屑
安裝外掛 Breadcrumb NavXT Settings

下方分頁功能
安裝外掛 Pagebar2

各國人數統計
http://s03.flagcounter.com/index.html

強化後台
Fluency Admin

統計訪客流量 資訊
安裝StatPress外掛

使用google prettie code
裝prettify.js and prettify.css
在footer.php 加入語法

<script>
  !function ($) {
    $(function(){
      window.prettyPrint && prettyPrint()   
    })
  }(window.jQuery)
</script>
http://stackoverflow.com/questions/11664850/google-prettify-with-bootstrap-line-numbers-not-showing

硬式要學推薦。
http://www.soft4fun.net/wordpress-relate/19%E6%AC%BE%E5%AF%A6%E7%94%A8-wordpress-%E5%A4%96%E6%8E%9B%E6%8E%A8%E8%96%A6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%85%8D%E8%B2%BB.htm

super cache
修改東西記得清除快取

準備研究:
Google Analytics Dashboard
http://sofree.cc/google-analytics-dashboard/

麵包屑

加入廣告
在function.php 裡面使用 global

移除<p>

remove_filter( 'the_content', 'wpautop' );
移除</br>
remove_filter( 'the_excerpt', 'wpautop' );
google sitemap
Google XML Sitemaps





2013年4月8日 星期一

無痛安裝 Wordpress on CentOS 6

無痛安裝 Wordpress on CentOS 6

1.下載軟體並壓縮執行
wget http://wordpress.org/latest.tar.gz # 下載wordpress套件
tar -xzvf latest.tar.gz # 解壓縮執行

2.設定資料庫
建立資料庫、建立wordpress使用者、建立wordpress使用者使用此資料庫的權限。
mysqladmin -u root password 'password' # 設定root的密碼
mysqladmin -u root -p # 使用root登入需密碼
Enter Password: # 輸入密碼
mysql > #進入mysql
create database wordpress; # 建立wordpress資料庫
create user wordpressuser@localhost; # 建立使用者wordpressuser
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password"); #設定密碼
SELECT User,Host FROM mysql.user; # 秀出系統現在有哪些 user
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password'; # 設定wordpressuser在wordpress資料庫裡面的所有資料表取得所有權限

3.設定wordpress
vim ~/wordpress/wp-config.php
define('DB_NAME', 'wordpress'); #設定資料庫名稱
define('DB_USER', 'wordpressuser'); #設定user
define('DB_PASSWORD', 'password'); #設定密碼

4.複製檔案到/var/www/html 與安裝php-gd
cp -r ~/wordpress/* /var/www/html/
yum install php-gd
service httpd restart

5.開啟wordpress設定頁面
~/wp-admin/install.php

其他設定:
設定VirtualHost
vim /etc/httpd/conf.d/vh.conf
<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /var/www/html/mydownload
    ServerName mydownload.no-ip.org
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

下載佈景主題還有外掛都需要輸入ftp帳號密碼:
chown -R apache /var/www/html/mydownload # 需將資料夾的權限設定給apache

結果:http://mydownload.no-ip.org/
參考:https://www.digitalocean.com/community/articles/how-to-install-wordpress-on-centos-6--2

2013年4月7日 星期日

PDO


PDO
無痛使用:

$dsn = "mysql:host=$db_host;dbname=$db_name;charset=utf8";
$dbh = new PDO($dsn, $db_user, $db_password);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth=$dbh->prepare("INSERT INTO zh_tw_article (ImageURL,Topic) VALUES (:imageURL,:topic)");


while ($result = $sth->fetch(PDO::FETCH_OBJ))
{
echo $result->ArticleIndex . '-' . $result->Topic;
}

  1. http://easonyo.pixnet.net/blog/post/22966510-pdo-(php-data-object)-%E7%B0%A1%E6%98%93%E6%95%99%E5%AD%B8-
  2. http://blog.roga.tw/2010/06/%E6%B7%BA%E8%AB%87-php-mysql-php-mysqli-pdo-%E7%9A%84%E5%B7%AE%E7%95%B0/
  3. http://www.actman.tw/~blog/2010/11/php-%E4%BD%BF%E7%94%A8-pdo-%E5%AD%98%E5%8F%96%E8%B3%87%E6%96%99%E5%BA%AB%E4%B8%80%E5%AD%98%E5%8F%96%E6%AD%A5%E9%A9%9F%E8%88%87%E5%B8%B8%E7%94%A8%E5%8A%9F%E8%83%BD%E4%BB%8B%E7%B4%B9/
  4. http://phorum.study-area.org/index.php?topic=48055.0










-----------
bindParam and bindValue

bindParam會將一個PHP變數與SQL綁定,當變數變化時,SQL也會變動
bindValue則不會,只會執行最初綁定的值

2013年4月1日 星期一

HTML5

HTML5

<!DOCTYPE html> 告知瀏覽器使用HTML5

使用video標籤。

<video width="320" height="240" controls="controls">
  <source src="movie.ogg" type="video/ogg">
  <source src="movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>



使用audio標籤。

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg">
  <source src="song.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>


Drag and Drop 拖放

要元素可以拖放,需將draggable屬性設定為true

<img draggable="true" />















2013年3月28日 星期四

jQuery 基礎教學

Part1: 簡介

jQuery 是一個超級無敵強大的工具,有了他, javascript 變得十分簡單。
相信很多人都會跟我一樣,在剛學習的時候有一個問題:

Q: 要先學會javascript 還是 jQuery ?

A: 簡單一點來說,以C++ 做為舉例

javascript 就等於是 C++

而 jQuery 就等於是 別人幫你寫好的Class

因此你還是要先懂一些C++的語法

有哪些語法呢?

我覺得只要知道怎麼宣告變數、跟用迴圈就夠了

因為,其他javascript 辦得到得事情,jQuery 辦得更快

因此我直接切入正題

----------------------------------------------------------------------------

Part2: 基本的jQuery 架構


$(document).ready(function() {
// Handler for .ready() called.
});


基本上任何的javascript 都寫在 document .ready 裡面就對了

這個code 的意思就是:在我的網頁(DOM) load 完成之後,我要做些甚麼事情

在jQuery 中,  $   這個符號代表的就是jQuery

因此你也可以寫成jQuery(document).ready

----------------------------------------------------------------------------

Part3: 常用的語法

通常我們最常用的就是按下按鈕時,我們希望叫javascript 幫我們做事情

因此其實jQuery 的概念就是

1.利用選擇器選取要操作的DOM

2.修改他

我舉個例子:

<button id="click" class="me" type="button">Click Me!</button>

<input type="text" class="mouse" name="LastName" value="Mouse">

上面是兩個基本的DOM

buttom 擁有id 與 class

而input 擁有 class 與 name

所以我們首先第一步要先選擇DOM

在選擇器方面通常我們會選的依據有兩種

id 或者是 class

所以name在這邊沒屁用

假設我要選擇buttom這個東西的時候,我可以這樣寫

第一步驟:選擇DOM

$("#click")  或者是 $(".me")

記住一定要有單引號或雙引號,不然你可能會很納悶程式怎麼都跑不出來

我就在這邊吃了很多悶虧

第二步驟:做事情

通常我們會把事情寫在function 裡面,假設是click事件

$(".me").click(function() {
    //要做的事情
    $(".mouse").attr("value", "hello");
});

如此一來我在點擊button 時就會將input 的值從mouse 改成 hello

很簡單吧! 設定 input 的屬性竟然只需要一行就完成!!


大致上這就是jQuery 基礎會用到的東西

2013年3月25日 星期一

MYSQL基本語法

MYSQL基本語法


insert into 資料表名稱(欄位1,欄位2)
values('值1','值2');

http://james670818.pixnet.net/blog/post/4411857-%5Bphp%5D-pdo-ii
net start mysql啟動 MySQL

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -pmysqlshow -u user_name@ipAddress -p
列出所有資料庫

mysqlshow -u user_name -p db_name列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼mysqladmin password 'new_password'更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql
與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppasswordmysql [-h ipAddress] -u user_name -p

切換使用資料庫 database_name
mysql> USE db_name
mysql> SELECT DATABASE();列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定