August 06, 2005

PHP寄信(與如何寄Big5的信)

由於很多收信軟體或是線上收信的客戶端都是以Big5去做預設的解碼
所以寄信時以Big5寄出則有較高的相容性
因為PHP用mail去寄信時預設是以UTF-8為編碼
所以需要多做一些手腳

以下是程式是來自我寫的網頁
也就是兩個重點
ㄧ、字串要經過轉碼,以下列的方式
$big_string= mb_convert_encoding($utf8_string,"big5","utf-8");
P.S.要安裝php_mbstring

二、mail header的部份要包含Content-Type: text/plain; charset=big5";
這樣使用麻瓜寫的軟體去收信也不會有問題嚕XD

$mail_to = "$email";
$mail_to = mb_convert_encoding($mail_to,"big5","utf-8");

$mail_from = "nscpower2005@ee.kuas.edu.tw";
$mail_from = mb_convert_encoding($mail_from,"big5","utf-8");

$mail_reply_to = "nscpower2005@ee.kuas.edu.tw";
$mail_reply_to = mb_convert_encoding($mail_reply_to,"big5","utf-8");

$mail_subject = "國科會工程處電力學門九十九年度專題研究計畫成果發表會確認信[$num](test)";
$mail_subject = mb_convert_encoding($mail_subject,"big5","utf-8");

$mail_body = "$m1\r\n"."$m2\r\n"."$m3\r\n"."$m4\r\n"."$m5\r\n"."$m6\r\n"."$m7\r\n"."$m8\r\n\r\n"."$m9\r\n\r\n"."如有任何問題,請隨時參考本會議網址:http://nscpower2011.ee.kuas.edu.tw/\r\n";
$mail_body = mb_convert_encoding($mail_body,"big5","utf-8");

$mail_bcc = "pen@mail.ee.kuas.edu.tw, shaw@mail.ee.kuas.edu.tw";
$mail_bcc = mb_convert_encoding($mail_bcc,"big5","utf-8");

$mail_headers = "From: $mail_from\r\nReply-to: $mail_reply_to\r\nBcc: $mail_bcc\r\nContent-Type: text/plain; charset=big5";
$headers = mb_convert_encoding($mail_headers,"big5","utf-8");

if (mail($mail_to, $mail_subject, $mail_body, $mail_headers)) {
echo "系統已發出確認信!

";
} else {
echo "$num的確認信發送失敗!
";
}

由 k 發表於 04:46 PM | 迴響 (0)

PHP上傳檔案

copy($_FILES["pdf"]["tmp_name"], "power_uploads/$num/".$_FILES["pdf"]["name"])
將上傳的檔案移動到第二個參數的位置
第一個參數為檔案在上傳的伺服器上臨時的位置

此外 預設檔案大小為2M(/etc/php.ini)

由 k 發表於 04:38 PM | 迴響 (0)

PHP中取出末幾字(檢查檔案型別用)

$doc_type = substr("$doc_name", -3); //取出該字串的末三字
適用於判定上傳檔案的型別

由 k 發表於 04:36 PM | 迴響 (0)