[PHP] 善用 ignore_user_abort() 函式

話說最近在為了上傳圖片經過縮圖的時間來煩惱,只不過我在想,為甚麼我上傳圖片還要等待縮圖時間才可以,然而無名小站,只需要上傳時間,縮圖是在它機器背景執行,後來發現一個函式非常好用,那就是

ignore_user_abort(true);

http://tw2.php.net/manual/tw/function.ignore-user-abort.php 無名在上傳圖片的php檔案,肯定有加上這個函式,他的好處是使用者如果關掉瀏覽器,但是php還是會繼續執行,也就是無名可以把檔案上傳之後,重新導向到使用者的相簿,程式可以如下

ignore_user_abort(true);
set_time_limit(0);
for($i = 1; $i < 6; $i++){
if($_FILES['userfile' . $i]['size']){
/*
上傳圖檔寫在這裡
*/
}
}
//上傳好導向相簿
if($_POST['mode'] == 'add'){
header("Location:index.php");
}
/*
然後這裡在進行縮圖,他就會在背景中執行
*/
if($_POST['mode'] == 'add'){
for($i = 1; $i < 6; $i++){
convert_sh($upload_floder,$file_name[$i],$small_size[$i]);
}
}
?>
其實 ignore\_user\_abort(true); 根本就是變相的 unix 底下的 crontab ,還蠻好用的,好處很多,不過用的地方要注意就是了,並不是每個php檔案都需要用這個函式。
php 

如何擋掉 google, 大陸百度 搜尋引擎

發現google實在強了,他不只可以讓你網站曝光,如果你上傳一些重要的檔案放在網路上,只要沒有經過帳號密碼的機制,讓google知道你的絕對路徑,那個檔案就完蛋了,因為google還會暫存到他的機器,順便還幫你轉成 html ,夠屌了吧,所以我認為唯一最終解決辦法,就是自己寫一隻下載檔案的function,然後下載檔案都要透過該程式然後在header出來,這樣才不會被google弄到檔案,囧。 當然要如何擋掉搜尋引擎,方法如下,在自己網站底下新增 .htaccess #擋掉百度 SetEnvIfNoCase User-Agent “^Baidu” bad_bot SetEnvIfNoCase User-Agent “^sogou” bad_bot SetEnvIfNoCase User-Agent “^Bloghoo” bad_bot SetEnvIfNoCase User-Agent “^Scooter” bad_bot Deny from env=bad_bot #擋掉google SetEnvIf User-Agent “^Googlebot” google Deny from env=google 其實還有另外一種方法,那就是用 robots.txt 如何攔截 Googlebot?,這個方法也不錯 擋掉的結果如下: 66.249.70.107 - - [20/Jun/2007:15:30:11 +0800] "GET /store/market_list.php??bid=&year=2009&month=10 HTTP/1.1" 403 999 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" 61.135.162.53 - - [20/Jun/2007:14:41:00 +0800] "GET /web/news_show.php?bid=30&newsid=189&list= HTTP/1.1" 403 1003 "-" "Baiduspider+(+http://www.baidu.com/search/spider.htm)" 看到 403 就對了,不過會看到比較多百度的 可以參考底下這篇討論,相當不錯 [求助]Bot 如果要測試的話,可以利用 fx 的 user. [Read More]

[生活] 最近在量血壓~

恩 ~ 最近無聊拿我爸爸在量血壓的血壓計來量,我發現我的血壓好像都蠻高的,其實說實在的,我自己也不知道為什麼會這樣,哈哈不過我覺得還好,自己的身體感覺起來都還ok,沒有什麼症狀,不過我爸媽還擔心我高血壓,小時候還說我糖尿病,哈哈真是好笑,不過小時候還因為爸爸一直說我太胖,所以我國中減肥,會不會是因為減肥造成我身高只有 168,撲撲,好像也不是減肥問題,因為我國中畢業才145,囧很矮吧然後現在也才 168 哈哈 矮人一個,不過我自己開心最重要,反正我也不在乎別人講什麼。 哈哈血壓還沒講完呢,話說我最近測量自己血壓,都是在 130-140之間,我自己看到都嚇到,然後吃飽飯測量,竟然看到149,哈哈,很屌吧,在我這個年紀,沒人可以跟我一樣吧不過話說回來,我的飲食很正常說,自從我退伍之後在家裡,早上起來就是1科鳳梨然後一科奇異果,然後中午大概就是我媽媽煮的飯,然後我媽媽就會去上班,我下午大概都會去運動,爬山吧~,然後晚上回來,大概自己去炒個高麗菜,或者是紅蘿蔔炒蛋,這樣應該很健康,睡覺前還弄一杯葡萄牛奶,或者是蘋果牛那喝,奇怪這樣也會血壓高喔~我哥哥不運動喝飲料吃炸的吃滷的樣樣來,結果他血壓 110-120中間,撲撲果然人事間有很多奇妙的事情。

[生活] 第一次看牙醫~ 噗噗

哈哈 出生到現在 24歲了~ 第一次看牙醫~ 囧 而且還是很奇怪的問題 不知道哪一天早上起來 刷牙,然後覺得牙齒酸酸的 想說是不是蛀牙了,人生第一次蛀牙阿~ 哈哈~ 人生還真多第一次,嘿嘿 真開心 不過這還沒什麼,去到牙醫診所,牙醫看完之後,問我說 小朋友 你來亂的喔 你牙齒這麼棒,看啥牙醫,囧,後來醫生看不出來我哪裡有病 所以請一位漂亮的護士幫我照X光,哈哈 不過我還真不好意思,因為那位護士要拿手伸進去我的嘴巴~~ 囧 真對不起那位護士~ 哈哈 後來x光照完了,醫生看了一下~ 臉又囧了~ 因為照出來正常 噗噗~ 我看醫生快哭了~ 後來醫生才免強找到一顆牙,幫我補一下,順便幫我洗牙齒,哈哈 真是辛苦醫生了~

[PHP] 如何更正系統時間 timezone_set

相信很多虛擬主機都會碰到時間的問題,比如說少 8 小時,或者是多 8 小時,現在只要在執行 php 的前端加上

date_default_timezone_set("Asia/Taipei");

這樣就會更新到正確時間了,這樣在使用 mktime() 就沒啥問題了

或者去系統改 php.ini 檔案

;Defines the default timezone used by the date functions
date.timezone = Asia/Taipei

Linux 系統校正時間,可以執行底下 Script:

# check if link file
[ -L /etc/localtime ] && unlink /etc/localtime
# update time zone
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
aptitude -y install ntpdate
ntpdate time.stdtime.gov.tw
# write time to clock.
hwclock -w

國史館台灣文獻館~發生大事?替代役事件

昨天在公司裡面,突然接到 國史館台灣文獻館 打給我電話,問我是不是去投書廖秘書~ 囧~ 看來以後只要有關於廖秘書事情,好像都會牽拖到我,不過這也沒辦法,在我還在當替代役的時候就跟廖秘書衝突N次,所以大家聯想到我也是很正常,不過總覺得部只有我會這樣做,哈哈 就像有一次鬧到立委打電話萊關切,好像聽說有2-3位立委打電話來,但是不是我找立委吧,雖然其中一位立委是我認識的,但是另外不是我認識的,這表示還有人不喜歡廖秘書,不過整件事情感覺苗頭都是對上我,大家一致認為是我找的~噗噗。 這次聽說是 台北國史館 來函給 國史館台灣文獻館~ 我的這篇文章 替代役不平等待遇 (續) 替代役長官 (廖秘書) 好像造成整理組的轟動,因為學弟在 google 打入 “文獻館替代役”,就搜尋到了,哈哈~ 一堆學弟開始問了,不過告知一下學弟們,請他們自己體會吧,每個人感受不同的 這次台北國史館來函,不知道是因為什麼事情,也沒有人告訴我,只是有館內人員打給我,問我是否有去投書,想也知道我才不會那麼無聊,有必要這樣嗎?我已經退伍了,哈哈,那邊的事情就讓他過去吧,哈哈我也問過了我替代役好友,他也說他沒有投,我跟他平常忙得要命,我早上8點半出門,到晚上7點半才到家,最好是我還有時間去搞這個,要弄也是在我替代役期間就投了,哈哈。 總歸一句話,廖秘書惹上太多人了,至少我敢保證在我當替代役期間,我沒有從其他19位替代役朋友口中,聽到任何一句稱讚過廖秘書的,聽到抱怨多到無比,我想廖秘書自己也該好好檢討吧~,不過我看他的個性,我想不可能改的,哈哈,那可能未來會有更多人投書吧。

[PHP] 日期函數『搭配javascript』

剛剛發現一個好玩的函數,用在購物車的時候,可以選擇發表團購日期,跟結束日期,下面我是設定發起日後14天之內要下架,還不錯用 大家參考看看吧,其實做出很多功能,大家修改函數就可以了 function jmp2_date_ex($str,$str1,$str2,$sy,$ey){ global $$str; $$str=str_replace("-","/",$$str); $nextWeek = time() + (14 * 24 * 60 * 60); $sy=date(“Ymd”); $ey=date(“Ymd”,$nextWeek); echo “”; ?> <? } [/code]

[PHP] header下載檔案 搭配資料庫

剛剛在 ECstart 看到有人詢問 header檔案下載錯誤 發現網站義工有回答到這個function,所以就紀錄下來了 function dl_file($file){ //First, see if the file exists if (!is_file($file)) { die("404 File not found!"); } //Gather relevent info about file $len = filesize($file); $filename = basename($file); $file_extension = strtolower(substr(strrchr($filename,"."),1)); //This will set the Content-Type to the appropriate setting for the file switch( $file_extension ) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "doc": $ctype="application/msword"; break; case "xls": $ctype="application/vnd.ms-excel"; break; case " [Read More]
php 

wordpress 留言被灌爆 – plugin – WP-ImgCode mod

今天有人問我,blog留言版被灌爆,都是廣告信,我想說 wordpress 不是有內建一個外掛 Akismet 這個外掛可以擋掉很多spam,讓你的留言版不至於有廣告信,不過還是可以加上留言版的驗證圖形,這樣會更安全一點。 今天找到一個國人改寫的 WordPress plugin – WP-ImgCode mod 這個還不錯用,安裝方式如下

安裝啟用
  1. 將解壓縮出來的 wp-imgcode 資料夾放到 WordPress 的 plugin 資料夾,預設為 wp-content/plugins。
  2. 在控制台中啟用這個 plugin。
加入驗證碼
  1. 開啟目前使用佈景的相關檔案,例如 comments.php。
  2. 在要顯示驗證碼的地方,加上這個程式碼:
ID); ?>
明天在去搞定別人的網站吧~ 先紀錄一下~