Public Function UrlEncode(ByRef szString As String) As String Dim szChar As String Dim szTemp As String Dim szCode As String Dim szHex As String Dim szBin As String Dim iCount1 As Integer Dim iCount2 As Integer Dim iStrLen1 As Integer Dim iStrLen2 As Integer Dim lResult As Long Dim lAscVal As Long szString = Trim$(szString) iStrLen1 = Len(szString) For iCount1 = 1 To iStrLen1 szChar = Mid$(szString, iCount1, 1) lAscVal = AscW(szChar) If lAscVal >= &H0 And lAscVal <= &HFF Then If (lAscVal >= &H30 And lAscVal <= &H39) Or (lAscVal >= &H41 And lAscVal <= &H5A) Or (lAscVal >= &H61 And lAscVal <= &H7A) Then szCode = szCode & szChar szCode = szCode & "%" & Hex(AscW(szChar)) End If Else szHex = Hex(AscW(szChar)) iStrLen2 = Len(szHex) For iCount2 = 1 To iStrLen2 szChar = Mid$(szHex, iCount2, 1) Select Case szChar Case Is = "0" szBin = szBin & "0000" Case Is = "1" szBin = szBin & "0001" Case Is = "2" szBin = szBin & "0010" Case Is = "3" szBin = szBin & "0011" Case Is = "4" szBin = szBin & "0100" Case Is = "5" szBin = szBin & "0101" Case Is = "6" szBin = szBin & "0110" Case Is = "7" szBin = szBin & "0111" Case Is = "8" szBin = szBin & "1000" Case Is = "9" szBin = szBin & "1001" Case Is = "A" szBin = szBin & "1010" Case Is = "B" szBin = szBin & "1011" Case Is = "C" szBin = szBin & "1100" Case Is = "D" szBin = szBin & "1101" Case Is = "E" szBin = szBin & "1110" Case Is = "F" szBin = szBin & "1111" Case Else End Select Next iCount2 szTemp = "1110" & Left$(szBin, 4) & "10" & Mid$(szBin, 5, 6) & "10" & Right$(szBin, 6) For iCount2 = 1 To 24 If Mid$(szTemp, iCount2, 1) = "1" Then lResult = lResult + 1 * 2 ^ (24 - iCount2) Else: lResult = lResult + 0 * 2 ^ (24 - iCount2) End If Next iCount2 szTemp = Hex(lResult) szCode = szCode & "%" & Left$(szTemp, 2) & "%" & Mid$(szTemp, 3, 2) & "%" & Right$(szTemp, 2) End If szBin = vbNullString lResult = 0 Next iCount1 UrlEncode = szCode End Function
myAdBanner
2014年12月25日 星期四
excel urlencode function
2014年12月9日 星期二
計算陣列個數 count 用法
<?php $data = array( "apples" => array("red", "yellow", "pineapples"), "bananas" => array("small", "medium", "big"), "vegs" => array("potatoes", "carrots", "onions") ); $rows = count($data,0); $cols = (count($data,1)/count($data,0))-1; print "There are {$rows} rows and {$cols} columns in the table!"; ?>There are 3 rows and 3 columns in the table!
2014年12月8日 星期一
mb_fgetcsv 解決 fgetcsv 中文亂碼
<?php /** * mb_fgetcsv * * 解結fgetcsv讀取中文亂碼函式 * */ function mb_fgetcsv(&$handle, $length = null, $d = ",", $e = '"') { $d = preg_quote($d); $e = preg_quote($e); $_line = ""; $eof=false; while ($eof != true) { $_line .= (empty ($length) ? fgets($handle) : fgets($handle, $length)); $itemcnt = preg_match_all('/' . $e . '/', $_line, $dummy); if ($itemcnt % 2 == 0){ $eof = true; } } $_csv_line = preg_replace('/(?: |[ ])?$/', $d, trim($_line)); $_csv_pattern = '/(' . $e . '[^' . $e . ']*(?:' . $e . $e . '[^' . $e . ']*)*' . $e . '|[^' . $d . ']*)' . $d . '/'; preg_match_all($_csv_pattern, $_csv_line, $_csv_matches); $_csv_data = $_csv_matches[1]; for ($_csv_i = 0; $_csv_i < count($_csv_data); $_csv_i++) { $_csv_data[$_csv_i] = preg_replace("/^" . $e . "(.*)" . $e . "$/s", "$1", $_csv_data[$_csv_i]); $_csv_data[$_csv_i] = str_replace($e . $e, $e, $_csv_data[$_csv_i]); } return empty ($_line) ? false : $_csv_data; } ?>
2014年11月18日 星期二
使用 Microsoft SQL Server Management Studio 附加資料庫發生「作業系統錯誤 5: "5(存取被拒。)"」的訊息
資料庫檔案 (*.mdf) 無法正確附加。
解決方式是在資料庫檔案上按右鍵→內容→切換至[安全性]頁籤,
將檔案權限設定為「完全控制」給 NETWORK SERVICE 與 SQLServerMSSQLUser$$MSSQLSERVER 這兩個帳戶。
就OK了
2014年10月22日 星期三
2014年10月7日 星期二
EXCEL擷取欄位中的超連結
Excel 中並沒有擷取超連結的函數
所以必須自訂函數
方法如下:
所以必須自訂函數
方法如下:
- 按 Alt + F11 打開Visual Basic Editor。
- 在工具列選擇「插入」/「模組」。
- 貼上以面自訂函式碼。
- 按 Alt + Q 離開並回到Excel。
Function GetAddress(HyperlinkCell As Range) On Error Resume Next GetAddress = Replace(HyperlinkCell.Hyperlinks(1).Address, "mailto:", "") End Function
word合併列印後 插入頁碼都是1
word合併列印後 想說插入頁碼這樣比較之到是第幾頁
結果插入後頁碼都是1
看了一下才知道原來每頁後面都是插入分節符號
所以才都是第一頁
解決方法:
把分節符號改成分頁符號
Ctrl + H (取代)
尋找目標: ^b
取代為: ^m
就ok了
結果插入後頁碼都是1
看了一下才知道原來每頁後面都是插入分節符號
所以才都是第一頁
解決方法:
把分節符號改成分頁符號
Ctrl + H (取代)
尋找目標: ^b
取代為: ^m
就ok了
2014年9月23日 星期二
MS SQL 備份 DOS COMMAND
今天剛好要備份sql data 但是客戶那裡安裝的 Express版,沒有SQL Server Agent的服務,所以只有自己動手來寫 DOS COMMAND 。
為了讓備份檔案不會重複於是利用date time 方式來產生資料夾,日期解決了但是時間部份就無法自動補0,於是就利用 if 的方式解決了這個問題
為了讓備份檔案不會重複於是利用date time 方式來產生資料夾,日期解決了但是時間部份就無法自動補0,於是就利用 if 的方式解決了這個問題
set dd=D:\DB_Backup\%date:~0,4%%date:~5,2%%date:~8,2% set hour=%time:~0,2% if "%hour:~0,1%" == " " set hour=0%hour:~1,1% echo hour=%hour% set min=%time:~3,2% if "%min:~0,1%" == " " set min=0%min:~1,1% echo min=%min% set secs=%time:~6,2% if "%secs:~0,1%" == " " set secs=0%secs:~1,1% echo secs=%secs% set fn=%dd%%hour%%min%%secs% md %fn% NET STOP MSSQL$SQLEXPRESS COPY "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_Data.mdf" %dd% COPY "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DB_log.ldf" %dd% NET START MSSQL$SQLEXPRESS
2014年8月31日 星期日
關閉 購物禮卷 與 推薦銷售
在
\catalog\view\theme\default\template\common
目錄下找到
footer.tpl
尋找
<?php echo $text_voucher; ?>
<?php echo $text_affiliate; ?>
把它給註解掉
就OK了
\catalog\view\theme\default\template\common
目錄下找到
footer.tpl
尋找
就OK了
2014年8月5日 星期二
SQL 2008 手動將結構描述改為dbo
2008處理方式:手動將結構描述改為dbo
開啟Microsoft SQL Server Management Studio==>選擇該資料庫==>選擇資料表,其結構
描述為使用者名稱的==>到資料表上按滑鼠右鍵,選擇設計==>在屬性中選結構描述==>變更擁有者
為dbo,存檔==>擁有者就改為dbo,就可刪除帳號即可
註:SQL Server Management Studio 預設並不開啟屬性視窗,按F4就可開啟
開啟Microsoft SQL Server Management Studio==>選擇該資料庫==>選擇資料表,其結構
描述為使用者名稱的==>到資料表上按滑鼠右鍵,選擇設計==>在屬性中選結構描述==>變更擁有者
為dbo,存檔==>擁有者就改為dbo,就可刪除帳號即可
註:SQL Server Management Studio 預設並不開啟屬性視窗,按F4就可開啟
2014年7月14日 星期一
檢查網站是否正常連結
File_Get_Contents("../.htm"); 或者 CURL 或者 $FP=FSockOpen("www.php.net",80,$errno,$errstr,30); IF(!$FP){ Echo 'Find Error:',$errstr($errno),'
\n'; }Else{ fputs($FP,"GET / HTTP/1.0\r\nHost:www.example.com\r\n\r\n"); Echo 'Output:
',Chr(10); While(!feof($FP)){ Echo fgets($FP,128),'
--------
'; } Fclose($FP); }
2014年6月3日 星期二
自動刪除檔案
'自動刪除檔案 '天數 daysAgo = 365 '路徑 dirPath = "C:\\inetpub\\logs\\LogFiles\\W3SVC6" '副檔名 extName = ".log" '---------程式開始------------ Set fs = CreateObject("Scripting.FileSystemObject") Set w = WScript.CreateObject("WScript.Shell") Set f = fs.GetFolder(dirPath) Set fc = f.Files dateBefore = Now() - daysAgo For Each ff in fc fileName = ff.Name fileDate = ff.DateLastModified If Right(fileName, Len(extName)) = extName And fileDate < dateBefore Then fs.DeleteFile(dirPath & "\\" & fileName) End If Next
2014年4月24日 星期四
2014年2月20日 星期四
facebook API 取得項目
if( $userId == 0 ) { // Generate a login url $url = $facebook->getLoginUrl( array( 'scope' => 'email, user_status' ) ); ... Your Login button ... } else { // Get user's info $userdata = $facebook->api( '/me' ); $data = array( 'first_name' => $userdata['first_name'], 'last_name' => $userdata['last_name'], 'username' => $userdata['username'], 'email' => $userdata['email'], 'languages' => $userdata['languages'], 'locale' => $userdata['locale'], 'timezone' => $userdata['timezone'], 'gender' => $userdata['gender'], 'location' => $userdata['location'], 'hometown' => $userdata['hometown'], ); print_r( $data ); }
2014年1月8日 星期三
獲取遠端圖片並把它保存到本地
<?php // Function: 獲取遠端圖片並把它保存到本地 // $url 是遠端圖片的完整URL位址,不能為空。 // $filename 是可選變數: 如果為空,本地檔案名將基於時間和日期自動生成. function GrabImage($url,$filename="") { if($url==""){ return false; } if($filename=="") { $ext=strrchr($url,"."); $temext = strrchr(strtolower($url),"."); if($temext!=".jpg"&$temext!=".jpeg"){ return false; } $filename=date("dMYHis").$ext; $filepath=dirname(__FILE__)."/pictures/".$filename; } ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); $size = strlen($img); $fp2=fopen($filepath, "a"); fwrite($fp2,$img); fclose($fp2); return $filename; } ?>
2014年1月7日 星期二
php使用gmail smtp 寄信
<?php include("PHPMailer/class.phpmailer.php"); //匯入PHPMailer類別 $mail= new PHPMailer(); //建立新物件 $mail->IsSMTP(); //設定使用SMTP方式寄信 $mail->SMTPAuth = true; //設定SMTP需要驗證 $mail->SMTPSecure = "ssl"; // Gmail的SMTP主機需要使用SSL連線 $mail->Host = "smtp.gmail.com"; //Gamil的SMTP主機 $mail->Port = 465; //Gamil的SMTP主機的SMTP埠位為465埠。 $mail->CharSet = "big5"; //設定郵件編碼 $mail->Username = "*********"; //Gmail帳號 $mail->Password = "*********"; //Gmail密碼 $mail->From = "xxx@gmail.com"; //設定寄件者信箱 $mail->FromName = "xxx"; //設定寄件者姓名 $mail->Subject = "PHPMailer 測試信件"; //設定郵件標題 $mail->Body = "大家好,這是一封測試信件! "; //設定郵件內容 $mail->IsHTML(true); //設定郵件內容為HTML $mail->AltBody = $altbody; //這個設定主要是預防收件者無法顯示HTML信件時的替代文字 $mail->WordWrap = 50; //設定一行最多為50個字元,即每50個字自動斷行 $mail->AddReplyTo("info@iii.org.tw", "Info"); //設定回函 $mail->AddBCC("zzz@iii.org.tw", "zzz"); //使用密件副本 $mail->AddAttachment("/var/tmp/file.tar.gz"); //新增附件檔案 $mail->AddAttachment("/tmp/image.jpg", "new.jpg"); //附件也可以更改名稱 $mail->AddAddress("xxxxx@gmail.com", "xxx"); //設定第一位收件者郵件及名稱 $mail->AddAddress("xxxxx@gmail.com", "xxx"); //設定第二位收件者郵件及名稱 if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?>*注意事項 php.ini 中設定ssl 要開 否則會錯誤 設定方式 搜尋"php_openssl.dll",然後將前方的";"拿掉,若搜尋不到就自己把"extension=php_openssl.dll"這一句加上去,然後存檔重開web server
抓取RSS分析
抓取網頁函數
private string GetWebresourceFile(string url) { WebRequest request = WebRequest.Create(url); request.Timeout = 10000; WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); StreamReader sr = new StreamReader(resStream, System.Text.Encoding.UTF8); string SourceCode = sr.ReadToEnd(); resStream.Close(); sr.Close(); return SourceCode; }
訂閱:
文章 (Atom)