Python 連接 MySQL

MySQL 是十分流行的開源資料庫系統,很多網站也是使用 MySQL 作為後台資料儲存,而 Python 要連接 MySQL 可以使用 MySQL 模組。MySQLdb 模組可以讓 Python 程式連線到 MySQL server, 執行 SQL 語句及擷取資料等。開始前要確定系統內的 Python 有安裝 MySQLdb 模式,你可以 Python command line interpreter 檢查,在指令模式輸入 python,然後便可以開始檢查: 如果見以上面的 “ImportError: …

透過 shell script 發送 email

如果想用 shell script 發送郵件,可以用 mail 實現: # echo “email content” | mail -s “email subject” you@emaildomain 以上語句會發送一封標題為 “email subject” 的電郵到 you@emaildomain,其中 “email content” 為電郵內容。以下簡單的兩行 shell script 便會將檔案系統使用量,透過電郵發送給指定的電郵信箱: #!/bin/sh /bin/df -h …

Iptables 限制每個 ip 連線數

如果在 Linux 下要限制每個 ip 的連線數,可以透過 iptables 實現。詳細指令語法如下:/sbin/iptables -A INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 3 -j REJECT 限制每個 ip 只可以有 3 個 ssh 連線 (預設 ssh 使用 …

MySQL 用戶管理

在安裝 MySQL 後,預設的 root 密碼是空字串,對於系統安全是一個很大的漏洞,本文會介紹如何修改 MySQL 的使用者密碼,以及如何新增/刪除用戶。修改密碼 在 MySQL 內需要修改密碼,可以直接更新 mysql 資料庫內的 user 資料表。你可以在命令模式下輸入: # mysql -u root 或者在 phpmyadmin 內直接輸入以上最後兩句 SQL 語句也可以。新增使用者 要新增 MySQL 使用者有兩個方法:— 在命令模式下使用 GRANT 語句 — …

PHP 下製作縮圖

要用 PHP 自動創建一個圖片的縮圖,做法十分簡單,因為 PHP 已內建了相關函式。本文將會介紹製作縮圖的巨體做法。 (Web Server 需要 GD 支援)imagecopyresized PHP 已經內建了製作縮圖的函式,它是 imagecopyresized,以下是 imagecopyresized 的語法:int imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int …

PHP 建立 Excel 檔案

有時需要將資料庫內的資料或 PHP 的動態內容儲存成 excel 檔,本文會介紹一個概簡單又實用的方法。建立 Excel 檔案 如果需要用 PHP 建立 Excel 檔案,只需用一般的檔案處理函式,而檔案名稱儲存成 .xls 副檔名即可,例如:以上程式碼會在 excel 目錄建立一個名為 filename.xls 的檔案,內容是在第一行寫入一星期七天的英文簡寫,每一欄一天。實際上與建立一般文字檔的方法一樣,只是如果要跳到下一個欄位,就用 \t 字元,而要跳到下一行,則用 \n 字元。顯示下載窗口 如果電腦內有安裝 Excel 的話,在預設情況下當在 IE 按了 .xls 副檔名的文件時,IE 不會彈出下載窗口,而是直接顯示內容,以下兩個例子可避免這情況:直接將內容輸出給瀏覽器下載: …

JavaScript 表單系列 — 選取方塊

在網頁表單中,其中一個常用的元素就是選取方塊 (Checkbox),如果配合 JavaScript,可以實現很多實用的功能。檢查 Checkbox 是否被選取 要檢查 Checkbox 是否已被選取,可以使用 document.form_name.checkbox_name.checked 來檢查,如果回傳值是 true,代表已選取;回傳 false 則代表未選取。以下是簡單的例子:在以上例子,當按下 “檢查選取方塊狀態” 後,JavaScript 會檢查 mybox 是否被選取,然後用警告視窗的方式顯示結果。實際應用 以上功能在實際應用上也很有用,例如要求使用者註冊時必須同意條款方可註冊,或者是限制使用者可以選取的項目個數,以下例子會示範使用者必須選取 checkbox 才可按 submit 按鈕:上面的例子在檢查 agree 選取方塊的狀態後,再設定 submit 按鈕的 disabled 屬性。如果當 disabled …

Linux: 列出目錄及檔案數量

用 ls 指令會列出目錄下的內容,如果想知道目錄下有多少檔案及多少目錄,可以輸入以下指令:顯示檔案數目: ls -la |grep “^-” |awk ‘END {print “Number of files: ” NR}’顯示目錄數目: ls -la |grep “^d” |awk ‘END {print “Number of directories: ” NR}’

文字模式下執行 PHP

在一般情況下 PHP 是用在網站上,而有些情況需要在文字模式下執行,例如用 PHP 寫 shell script 或需要用 crontab 排程執行等。而在文字模式下執行 PHP 也很方便,假設 PHP 的安裝目錄是 /usr/local/php ,那麼就可以用以下指令執行:/usr/local/php/bin/php -q shell_script.php如果你跟我一樣懶打字,覺得 /usr/local/php/bin/php 很長的話,可以將 /usr/local/php/bin/php 覆製到 /usr/bin/ 目錄下:cp /usr/local/php/bin/php /usr/bin/php php -q shell_script.php # …

CGI “Internal Server Error”

在安裝 CGI 程式時如果設定錯誤,便會看到 “500 Internal Server Error” 訊息,一般常見的錯誤可以用以下方法解決:1. CGI 程式的權限需要設定為 711 或 755。2. 程式的最開端有一行類似 #!/usr/bin/perl,其中 #! 是必需要的,然後確定 /usr/bin/perl 是正確的路徑,另外這行前不可以有空格或空行。3. 如果程式本身會讀寫其他檔案,要檢查存取檔案的絕對路徑或相對路徑是否正確,以及檔案是否有權限存取。4. 根據 HTTP 栛定,在輸出內容前要先輸出 HTTP Headers,否則便會遇上便會錯誤,在 Apache 的 error log 裡面看到的錯誤是 …