OS : Windows 2003
Apache 2.2.27
PHP 5.2.16
於php.ini 裡,將 ;extension=php_mcrypt.dll uncomment,並重新啟動 apache 後,發現 load mcrypt 出現問題,且該模組也沒有成功的 load。
後來發現原因為 PHP Server 找不到 php_mcrypt.dll 相依的 libmcrypt.dll檔案,即使 path 內有設定相關路徑,也是有錯誤。
解決方法:
將 php 裡的 libmcrypt.dll copy 到 C:\WINDOWS\ 下,然後重新啟動 apache,即可成功載入模組。
都不成功可將 php_mcrypt.dll 及 libmcrypt.dll 放到WINDOWS和SYSTEM32目錄下試試看
2016年5月6日 星期五
2016年4月26日 星期二
「努力工作」是最該被丟棄的職場建議
別期望用「苦勞」贏取別人的肯定,通常的結果都是讓人失望的。新聞網站Business Insider的專欄作家法諾許.布洛克(Farnoosh Brock)列出了必須破除的超時工作3大迷思。
◎「努力工作」是最該被丟棄的職場建議:真正有升遷機會的人,不會整天埋首於工作,他們會把時間拿來塑造「公司不能沒有他」的形象。他們會跳脫自己的日常工作範圍,了解公司的整體運作、觀察關鍵人士並學習、找到志同道合的夥伴建立關係、擴大自己的影響力。
◎超時工作並不會得到老闆的肯定:老闆只會對你更加不放心,擔心你是否無法承擔現在的工作責任,未來就更不可能將更重大的工作責任交到你手上。
◎超時工作只會讓你失去升遷機會:不要被工作牽著鼻子走,如果你無法從容應付現在的工作,就很難說服老闆,把升遷機會留給你。當然,總會有緊急時刻,必須加班趕在期限內完成工作,但不該變成常態。
◎「努力工作」是最該被丟棄的職場建議:真正有升遷機會的人,不會整天埋首於工作,他們會把時間拿來塑造「公司不能沒有他」的形象。他們會跳脫自己的日常工作範圍,了解公司的整體運作、觀察關鍵人士並學習、找到志同道合的夥伴建立關係、擴大自己的影響力。
◎超時工作並不會得到老闆的肯定:老闆只會對你更加不放心,擔心你是否無法承擔現在的工作責任,未來就更不可能將更重大的工作責任交到你手上。
◎超時工作只會讓你失去升遷機會:不要被工作牽著鼻子走,如果你無法從容應付現在的工作,就很難說服老闆,把升遷機會留給你。當然,總會有緊急時刻,必須加班趕在期限內完成工作,但不該變成常態。
2016年4月8日 星期五
2015年9月18日 星期五
【工具】AdwCleaner v5.007 解決瀏覽器首頁被綁架、刪不掉的工具列、惡意廣告.. 等問題
今天開網頁瀏覽器突然出現一堆廣告...
想說先把 Google Chrome 重灌
刪除後要重灌他跳出 "不明安裝程式錯誤" ...
後來找到方法 要去灌另一個版本就OK了:
【Google Chrome 瀏覽器 v46.0.2490.6 開發版、v44.0.2403.157 穩定版 繁體中文版】
接下來要解決廣告的問題,又上網找了一下
發現這個還蠻好用的 AdwCleaner
網址: https://briian.com/12038/adwcleaner.html
下載完掃描一下 重開機瀏覽器都恢復正常
想說先把 Google Chrome 重灌
刪除後要重灌他跳出 "不明安裝程式錯誤" ...
後來找到方法 要去灌另一個版本就OK了:
【Google Chrome 瀏覽器 v46.0.2490.6 開發版、v44.0.2403.157 穩定版 繁體中文版】
接下來要解決廣告的問題,又上網找了一下
發現這個還蠻好用的 AdwCleaner
網址: https://briian.com/12038/adwcleaner.html
下載完掃描一下 重開機瀏覽器都恢復正常
2015年8月18日 星期二
【PHP】CURL HTTPS POST
function curl_file_get_contents($url,$request=array()){ /*if ($request){ $req = ''; foreach($request as $key=>$val){ $req .= $key.'='.$val.'&';} $req = rtrim($req,'&'); }*/ $useragent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36"; $curl = curl_init(); // 啟動一個CURL會話 curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址 curl_setopt($curl, CURLOPT_REFERER, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從證書中檢查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_USERAGENT, $useragent); // 模擬用戶使用的瀏覽器 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉 curl_setopt($curl, CURLOPT_ENCODING, "UTF-8"); // 編碼 curl_setopt($curl, CURLOPT_COOKIE, "cookieLangId=zh_tw;"); // 傳送cookie curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer curl_setopt($curl, CURLOPT_POST, count($request)); // 發送一個常規的Post請求 curl_setopt($curl, CURLOPT_POSTFIELDS, $req); // Post提交的數據包 curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); // 連線時間 curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循環 curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回 $r = curl_exec($curl); // 執行操作 if (curl_errno($curl)) { echo 'Errno'.curl_error($curl);//捕抓異常 } curl_close($curl); // 關閉CURL會話 return $r; }
2015年4月8日 星期三
【轉貼】領悟
1.看中一台電腦,需要9000元。
他每月的收入只有2000.
老婆對他說,你瘋了,你買了就離婚。
他問我怎麼辦。
我說,你配不上那個電腦。
連自己喜歡的東西都沒勇氣去爭取你將來在社會上還能混成啥樣?
他咬咬牙買了。為了還債他開始不停的兼職。
終於在一個月內還清了所有的餘款。
他的妻子並沒有因為他的瘋狂而離開他。
他的妻子把他帶進了車市,
說:老公,我們貸款買了這輛寶馬吧。
他一開始嚇死了。以為老婆是瘋了。
1年後他還清了寶馬的貸款。
【悟到】你連追求自己喜歡的事物與人的勇氣都沒有,你註定是個失敗者。
2.兩馬各拉一貨車。
一馬走得快,一馬慢吞吞。
於是主人把後面的貨全搬到前面。
後面的馬笑了:「切!越努力越遭折磨!」
誰知主人後來想:既然一匹馬就能拉車,幹嘛養兩匹?
最後懶馬被宰掉吃了。這就是經濟學中的懶馬效應。
【悟到】讓人覺得你可有可無,你被踢開的日子就不遠了。
3.夜市有兩個麵線攤位。
攤位相鄰、座位相同。
一年後,甲賺錢買了房子,乙仍無力購屋。
為何?原來,乙攤位生意雖好,但剛煮的麵線很燙,顧客要15分鐘吃一碗。
而甲攤位,把煮好的麵線在冰水裡泡30秒再端給顧客,溫度剛好。
【悟到】為客戶節省時間,錢才能進來快些。
4.一禪師見一蠍子掉到水裡,決心救它。
誰知一碰,蠍子蟄了他手指。
禪師無懼,再次出手,豈知又被蠍子狠狠蟄了一次。
旁有一人說:它老蜇人,何必救它?
禪師答:蜇人是蠍子的天性,而善是我的天性,
我豈能因為它的天性,而放棄了我的天性。
【悟到】我們的錯誤在於,因為外界過多地改變了自己。
5.曼德拉曾被關壓27年,受盡虐待。
他就任總統時,邀請了三名曾虐待過他的看守到場。
當曼德拉起身恭敬地向看守致敬時,
在場所有人乃至整個世界都靜了下來。
他說:當我走出囚室,邁過通往自由的監獄大門時,
我已經清楚,自己若不能把悲痛與怨恨留在身後,那麼我仍在獄中。
【悟到】原諒他人,其實是昇華自己。
6.有人問農夫:「種了麥子了嗎?」
農夫:「沒,我擔心天不下雨。」
那人又問:「那你種棉花沒?」
農夫:「沒,我擔心蟲子吃了棉花。」
那人再問:「那你種了什麼?」
農夫:「什麼也沒種,我要確保安全。」
【悟到】一個不願付出、不願冒風險的人,一事無成對他來說是再自然不過的事。
7.三人出門,一帶傘,一帶枴杖,一空手。
回來時,拿傘的濕透了,拿枴杖的跌傷了,第三個好好的。
原來,雨來時有傘的大膽地走,卻被淋濕了;
走泥路時,拄枴杖的莽撞地走,時常跌倒;
什麼都沒有的,大雨來時躲著走,路不好時小心走,反倒無事。
【悟到】很多時候,我們不是敗在缺陷上,而是敗在優勢裡。
2015年1月15日 星期四
【PHP】較不常用的 array function
$array1 = array('a','b','c','a'); $array2 = array('c','A','d','c'); // 相交(比對) Array ( [0] => c [3] => c ) $r1 = array_intersect($array2,$array1); // 結合 (第一個變數為key 第二個為value) Array ( [a] => c [b] => A [c] => d ) $r2 = array_combine($array1,$array2); // 出現次數 Array ( [a] => 2 [b] => 1 [c] => 1 ) $r3 = array_count_values($array1); // 不同 Array ( [0] => a [1] => b [3] => a ) $r4 = array_diff($array1,$array2); // 不同連key都要相同 Array ( [0] => a [1] => b [2] => c [3] => a ) $r5 = array_diff_assoc($array1,$array2); // 是否有 1 的 key 值 $r6 = array_key_exists('1',$array1); // 列出所有的key Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 ) $r7 = array_keys($array2); // 結合陣列有相同的key會結合 $r8 = array_merge_recursive($array1,$array2); // 亂數抓key $r9 = array_rand($array1); // 將值加入陣列 $r10 = array_push($array1,'d'); // 將value傳入function func($a,$b) 可傳多的值 $r11 = array_map("func",$array1,$array2); // 將key及value傳入function func($value,$key) 一個變數為key $r12 = array_walk($array1,"func"); // 目前第一個值 $r13 = current($array1); // 指到下一個值 $r14 = next($array1); // 洗牌 $r15 = shuffle($array1);
2015年1月8日 星期四
【Jquery】jQuery TWzipcode 地址縣市選擇
twzipcode 地址選擇縣市郵遞區號工具
方便的工具,不用自己寫ajax 官網
$(function(){ $('#addr').twzipcode({ // ID 名稱 countySel: '桃園市', // 城市預設值 districtSel: '平鎮區', // 地區預設值 zipcodeSel:'324', // 郵遞區號預設值 readonly:true, // 郵遞區號唯獨 css: ['county', 'district', 'zip'], // 個別的CSS 要另外自己寫 countyName: 'bill_county', // 城市欄位名稱 districtName: 'bill_district', // 地區欄位名稱 zipcodeName: 'bill_zip' // 郵遞區號欄位名稱 }); });
2014年12月18日 星期四
【PHP】PHP寄信 PHPMailer
1.一般寄信
※ $header 詳細說明: 連結
ini_set('SMTP','mail.threewell.com.tw'); $to ="wsxrtgvbuikm@gmail.com"; // 收件者 $subject = "發送測試"; //信件標題 $msg = '<!doctype html><html><head><meta charset="utf-8"></head><body><div style="background-color:#F00;color:#000" align="center">wsxrtgvbuikm@gmail.com</div></body></html>'; // 信件內容 $name = '賴俊銘'; // 寄件人 $sendMail = 'steven@threewell.com.tw'; // 寄件人信箱 要 smtp 允許的信箱 $headers = "From: ".$name ."<".$sendMail.">". "\r\n"; // 寄件人資料 $headers .= "Content-Type: text/html; charset=utf-8; format=flowed". "\r\n"; // 編碼方式 有用到html要用text/html $headers .= "MIME-Version: 1.0". "\r\n"; // MIME版本 $headers .= "Content-Transfer-Encoding: 8bit". "\r\n"; // 8位元ASCII碼。 $headers .= "X-Mailer: PHP". "\r\n"; // 哪邊發送的 if(mail($to, $subject, $msg, $headers)): echo '發送成功'; else: echo '發送失敗'; endif;
2.PHPMailer-master 使用套件
ini_set('SMTP','mail.threewell.com.tw'); require 'PHPMailer-master/PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->setLanguage('zh'); // 設定語系 沒用的語言可刪掉 $mail->CharSet = 'UTF-8'; // 編碼 $mail->setFrom('steven@threewell.com.tw', '賴俊銘'); // 寄件人信箱及寄件人 $mail->addAddress('wsxrtgvbuikm@gmail.com', 'wsxrtgvbuikm'); // 收件人信箱及收件人 $mail->Subject = '信件標題'; // 標題 $mail->msgHTML('<a href="#">wsxrtgvbuikm</a>中文中文'); // 內容 $mail->addAttachment('HDT8GN.jpg'); // 附件 可多個 $mail->addAttachment('HDT8GN2.jpg'); if (!$mail->send()) { echo "寄信錯誤: " . $mail->ErrorInfo; } else { echo "寄信成功"; }
2014年12月10日 星期三
【PHP】串接 Yahoo 商城 API
1.API 文件
2.準備
首先要向 yahoo 提出申請 API,申請成功後會拿到 API Key 和 Secret,
API Key 就像帳號一樣,Shared Secret 是將資料編碼。
API Key 就像帳號一樣,Shared Secret 是將資料編碼。
3.製作簽章及使用API
製作簽章的方法在 Yahoo API 文件就有說明,
直接來實作抓取 Yahoo 商城分類,
在文件中找到 API > Product API > /v1/MallCategory/Get
固定的網址是 http://tw.ews.mall.yahooapis.com/stauth (後面加上功能名稱)
直接來實作抓取 Yahoo 商城分類,
在文件中找到 API > Product API > /v1/MallCategory/Get
固定的網址是 http://tw.ews.mall.yahooapis.com/stauth (後面加上功能名稱)
YahooAPI class
/* * @author wsxrtgvbuikm@gmail.com * 首先要先 define 以下幾個變數: * 1.YAHOO_API_KEY : YAHOO申請的KEY * 2.YAHOO_API_SECRET : YAHOO申請的SECRET * 3.YAHOO_API_ID : YAHOO的帳號 (測試過其實亂打都過) * 4.YAHOO_API_NAME : YAHOO的名稱 (通常是中文) * 5.YAHOO_API_URL : http://tw.ews.mall.yahooapis.com/stauth */ header("Content-Type: text/html; charset=utf-8"); define('YAHOO_API_KEY','輸入API KEY'); define('YAHOO_API_SECRET','輸入API_SECRET'); define('YAHOO_API_ID','輸入ID'); define('YAHOO_API_NAME','輸入名稱'); define('YAHOO_API_URL','http://tw.ews.mall.yahooapis.com/stauth'); class YahooAPI { public function yahoo_api($url,$arr=array(),$other_val=array()){ $url = YAHOO_API_URL.$url; $auth_arr = array('ApiKey'=>YAHOO_API_KEY, 'TimeStamp'=>time(), 'Id'=>YAHOO_API_ID, 'Name'=>YAHOO_API_NAME, 'Format'=>'json' ); $request_arr = array_merge($auth_arr,$arr); // 會有編碼的問題所以用foreach //$request = urldecode(http_build_query($request_arr)); $request = ''; foreach($request_arr as $key=>$val){ $request .= $key.'='.$val.'&'; } $request = substr($request,0,-1); // $request用SECRET sha1加密 $signature = hash_hmac('sha1',$request,YAHOO_API_SECRET); $request_arr['Signature'] = $signature; // 加入其他參數像是上傳圖片就不包含在加密範圍 $request_arr = array_merge($request_arr,$other_val); $this->request = $request_arr; $r = $this->curl_file_get_contents($url,$request_arr); $arr = json_decode($r,true); return $arr; } public function curl_file_get_contents($url,$request){ $ch = curl_init(); $timeout = 5; $cookie = "cookieLangId=zh_tw;"; curl_setopt ($ch, CURLOPT_COOKIE, $cookie); curl_setopt($ch, CURLOPT_ENCODING, "UTF-8"); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_POST, true); // 啟用POST curl_setopt ($ch, CURLOPT_POSTFIELDS, $request); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); $r = curl_exec($ch); curl_close($ch); return $r; } }
取得分類
include("YahooAPI.php"); $Yahoo = new YahooAPI(); // 取得 YAHOO 商城分類 $url = '/v1/MallCategory/Get'; $arr = array('CategoryId'=>$CategoryId); $r = $Yahoo->yahoo_api($url,$arr); print_r($r);
上傳商品範例
在文件上有標記(Require)一定要填,
有些是要用API先去查代碼,其他(Optional)沒有傳值就不要出現不然會失敗..
有些是要用API先去查代碼,其他(Optional)沒有傳值就不要出現不然會失敗..
$url = '/v2/Product/SubmitMain'; $arr = array('SaleType'=>'Normal', // 商品銷售方式 'SaleTypeInfo'=>'Normal', // 商品銷售資訊 'ProductName'=>$rs['NAME'], // 商品名稱 'MallCategoryId'=>$rs['YAHOO_CAT'], // 商城商品分類代號 'StoreCategoryId'=>$rs['YAHOO_STORE_CAT'], // 商品歸類 'MarketPrice'=>$rs['MARKET_PRICE'], // 商品市價 'SalePrice'=>$rs['PRICE'], // 網路價 'CostPrice'=>$rs['COST'], // 成本價 'MaxBuyNum'=>$rs['LIMIT_NUM'], // 最高購買數量 'ShortDescription'=>$rs['DESC'], // 商品簡述 'LongDescription'=>$rs['CONTENT'], // 商品介紹 'PayTypeId'=>'1', // 付款方式代號 'PayTypeId'=>'2', // 付款方式代號 'PayTypeId'=>'4', // 付款方式代號 'PayTypeId'=>'8', // 付款方式代號 'PayTypeId'=>'9', // 付款方式代號 'PayTypeId'=>'10', // 付款方式代號 'ShippingId'=>'1', // 物流方式代號 'ShippingId'=>'2', // 物流方式代號 'IsTaxFree'=>'0', // 此商品是否為免稅商品 'SpecTypeDimension'=>'0', // 商品規格 'CustomizedMainProductId'=>$rs['PRODUCT_ID'], // 商品主貨號 'Stock'=>$rs['STOCK'], // 商品庫存量 'SaftyStock'=>$rs['SAFYSTOCK'], // 商品庫存最低警告量 ); $return = $Yahoo->yahoo_api($url,$arr);
上傳圖片
$url = '/v1/Product/UploadImage'; $arr = array('ProductId'=>$productId, // 商品ID 'MainImage'=>'ImageFile1', // 第一張圖 可一次傳多張 'Purge'=>'true' // 是否保留原圖 ); // 商品圖系統路徑 - 因為這個不加入簽章所以要另外放 // 前面加上@ CURL 就會當成檔案上傳 $request_arr['ImageFile1'] = '@'.HTTP_REAL_PATH.$rs['IMAGE']; $return = $this->yahoo_api($url,$arr,$request_arr);
訂閱:
文章 (Atom)