發表文章

目前顯示的是 2016的文章

JS encodeURI() encodeURI() encodeURIComponent()

說明 這是一個把特殊字元轉換成編碼,以便於傳輸的function。 encodeURI() 請不要使用他 encodeURI() 這個函式不會編碼 ~!@#$&*()=:/,;?+' 空白字元 %20 encodeURIComponent() 這個函式不會編碼 ~!*()' 空白字元 %20 如果你想要與PHP之間做完全的轉換,請使用js的encodeURIComponent與php的rawurlencode。 相關連結 PHP urlencode urldecode

software PicPick 全方位小工具(截圖超好用)

圖片
介紹 一款全功能的螢幕擷取工具、直觀的圖片編輯器、色彩選擇器、調色盤、尺規、量角器、十字線和白板等等。 別的先不說,截圖功能超好用,可以直接截到剪貼簿。 軟體資訊 軟體官網: PicPick - by NGWIN 檔案大小:約12.1MB 檔案類型:安裝,免安裝皆有(下方連結為免安裝版) 下載連結: Download 安裝&設定 打開的畫面(此為免安裝版) 設定成繁體中文 擊點File 擊點Program Option 把圖片中框起來的部份改成"正體中文",並按下OK 然後就變繁體啦 輸出類型 (如果你跟我一樣,不想要每次截圖都自動開啟編輯程式) 快速鍵配置(這邊我常用的是擷取區域) 不想要每次打開都是整個畫面,我只想用快捷鍵

sofrware WizTree找出系統中哪些檔案吃了容量

說明 速度超快,很好用。 軟體資訊 軟體官網: Antibody Software 檔案大小:約800KB 檔案類型:安裝,免安裝皆有(下方連結為免安裝版) 下載連結: Download

PHP JS PHP輸出換行字元導致JS停止執行

說明 有時候我們會需要把從 PHP 取得的資料,放到 JS 的code中執行。 今天碰到了問題,所以記錄下來。 狀況 當PHP取得的字串echo到JS的字串時,換行字元會導致JS語法錯誤,進而使JS停止執行。 先來看看一般JS的物件宣告 // 一般JS正常的物件宣告 <script> var tmp = { 'key' : 'variable' } </script> 利用PHP輸出到JS物件的值 // 加入PHP值的JS物件宣告 <?php $php_string = "test123"; ?> <script> var tmp = { 'key' : '<?= $php_string ?>' } </script> 其輸出會長這樣 // 輸出(加入PHP值的JS物件宣告) <script> var tmp = { 'key' : 'test123' } </script> 今天碰到的狀況(遇到換行字元) // 加入PHP值(帶有換行字元)的JS物件宣告 <?php $php_string = "test\r\n123"; ?> <script> var tmp = { 'key' : '<?= $php_string ?>' } </script> 其輸出會長這樣 // 輸出(入PHP值(帶有換行字元)的JS物件宣告) <script> var tmp = { 'key' : 'test 123' } </script> 發現問題了嗎?? 在JS中字串是不允許換行的,所以程式報錯,瀏覽器中斷JS的執行。 然後這個世界就爆炸啦!! 解決 方法就是把換行字元替換掉 <?php $php_string = "test\r\n123"; preg_replace("/(?:\r\n|\r|\n)/", &

PHP 2016/06/04 遇到的版本差異

狀況 本地測試正常,線上版本會出現500錯誤。 由於線上版本是不能顯錯誤訊息的,導至尋找錯誤的時間很長,實際解決問題時間很短。 歷經一個多小時的嚐試,終於找出問題。 $var = explode('-', '2016-04')[1]; echo $var; // 這裡應該要echo出'04',但是本地端正常,線上版本卻出現500 error。 解決 $var = explode('-', '2016-04'); $var = $var[1]; echo $var; 總結與心得 問題是由於5.4版本才支援這個語法( 參考 ,版本差異太可怕啦!! 下次遇到離奇事件的時候,要記的想想版本的問題。

PHP 可有可無的WHERE,自動判斷WHERE語句

說明 在寫程式時候,有時候會有_可有可無的WHERE_被下載 SQL 語句中的時候 什麼是_可有可無的WHERE_? 好比方在搜尋的時候,我有輸入"搜索時間範圍",才會搜索時間;有輸入"搜索地區",才會搜索地區。 所以在程式裡面WHERE有沒有出現,是看使用者代入的參數的! Code 這在這例子中,有設定姓名,才會搜尋姓名;有設定時間範圍,才會搜尋時間範圍,如果都沒有設定的話,就不會有WHERE語句出現。 // 不是重點的部份直接註解掉了:) // $db = new db(); $where = array(); ... .. . // if (isset($data->name)) { array_push($where, "tableName.name='{$data->}'"); // } // if (isset($data->minSearchTime) AND isset($data->maxSearchTime)) { array_push($where, "tableName.datetime BETWEEN '{$data->minSearchTime}' AND '{$data->maxSearchTime}'"); // } $where_string = empty($where) ? '' : ' WHERE '.join(' AND ', $where); $sql = "SELECT * FROM tableName {$where_string}"; //$rst = $db->Query($sql); return $rst;

CSS 依照兄弟元素來調整你的CSS樣式

說明 這是由 André Luís 文章中 提出的。 在這個範例中,允許1~3個相鄰的元素均分整個父元素的寬度。 當然,你也可以透過更改css,來達成不同的樣式,而不只是寬度。 範例 /* 只有一個元素 */ li:nth-child(1):nth-last-child(1) { width: 100%; } /* 兩個元素 */ li:nth-child(1):nth-last-child(2), li:nth-child(2):nth-last-child(1) { width: 50%; } /* 三個元素 */ li:nth-child(1):nth-last-child(3), li:nth-child(2):nth-last-child(2), li:nth-child(3):nth-last-child(1) { width: 33.3333%; } ...

netbeans對應sublime 使用筆記

圖片
最近因為需求上的原因,所以需要使用 netbeans ,因為平時是使用 sublim 來code,所以內容會有一些sublime的對應。 當然,我兩個都有裝vim的套件,哈哈哈。 快捷鍵對應  Netbeans  Sublime 說明 alt + shift + o ctrl + p 直接開啟某一個檔案 alt + f7 顯示此函式使用的地方  

Draft

PHP 檢查網域字串

/** * 檢查網域字串 * @param string $domain 輸入網域名 * @return bool */ function CheckDomainString($domain) { return preg_match("/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$/", $domain); }

PHP for, foreach時 pass by reference 要注意的地方(超難找的問題)

// 先來看看狀況 $arr = array("a", "b", "c"); foreach ($arr as &$item) {} print_r($arr); foreach ($arr as $item) {} print_r($arr); // output /* Array ( [0] => a [1] => b [2] => c ) Array ( [0] => a [1] => b [2] => b ) */ // 第二次的陣列被改變了 // 原因是因為當這行執行完時 foreach ($arr as &$item) {} // $item 其實是指到$arr[2]的 // 在後來的回圈 foreach ($arr as $item) {} // 這邊的$item指的是$arr[2]的位址 // foreach的時候會不斷的把$arr的每一個值都放到$item中 // 而$item因為上一個傳址呼叫的原因被指定為$arr[2] // 所以第二個回圈只是不停的改變$arr[2] // 解決方法: unset(); $arr = array("a", "b", "c"); foreach ($arr as &$item) {} print_r($arr); unset($item); foreach ($arr as $item) {} print_r($arr); // 結論: 如果使用到 pass by reference(傳址呼叫) // 要記得把那個變數改unset掉, // 不然誤用到那個變數就不好了。

PHP 在php5.2版中沒有__DIR__ 的解決方法

if( !defined( __DIR__ ) )define( __DIR__, dirname(__FILE__) );

PHP CSV直接下載

header("Content-type: text/x-csv"); header("Content-Disposition: attachment; filename=ExampleExportGameRankData.csv"); die("csv內容")

PHP json_decode

json_decode(來源變數, [true/false]); //預設false ->物件型式。true ->陣列型式。

PHP 格式化數字輸出

//測試函式參數說明 // 1) 欲轉換的數字 // 2) 小數位數 // 3) 小數點的顯示字元 // 4) 三位數的顯示字元 $number = 1234567890.321; echo number_format($number, 2, '.' ,',');//輸出結果為:1,234,567,890.32 echo number_format($number, 1, '*' ,'#');//輸出結果為:1#234#567#890*3

PHP urlencode urldecode

<?php $url='http://skynimo.com'; echo urlencode($url); // http%3a%2f%2fwww.skynimo.com ?> <?php $url='http%3a%2f%2fwww.skynimo.com'; echo urldecode($url); // http://skynimo.com ?> 補充 PHP中還有 rawurlencode 與 rawurldecode 。這兩個東西比起 urlencode 、 urldecode 的主要前別在於"空白字元"。 urlencode 會把空白字元轉換成 + rawurlencode 會把空白字元轉換成 %20 如果你想要與javascript之間做完全的轉換,請使用js的encodeURIComponent與php的rawurlencode。 相關連結 JS encodeURI() encodeURI() encodeURIComponent()

Mysql 使用limit之後 順便取得資料總數

Mysql 使用limit之後 順便取得資料總數 # 加上 SQL_CALC_FOUND_ROWS表示等下要取得資料總數。 SELECT SQL_CALC_FOUND_ROWS * FROM ... LIMIT N # 用FOUND_ROWS()取得總數。 SELECT FOUND_ROWS()

Mysql limit

語法說明:LIMIT 後面接[index, count],例如上方的「limit 2,4」,這代表:.Index:從哪個index開始傳回,Index是從0開始算,若以這個範例來看,資料會由第3筆資料開始回傳(2+1=3) limit X,N

JavaScript JSON與物件的轉換

var JSON碼 = JSON.stringify(物件) var 物件 = JSON.parse(JSON碼);

PHP取得時間,時間格式化輸出

//先設定時區 date_default_timezone_set("Asia/Taipei"); //取得現在時間,用字串的形式 $tempDate = date("Y-m-d H:i:s"); echo $tempDate; //輸出會是 2013-05-07 16:39:40 這種字串

JavaScript 取得今天日期

<script language="javascript"> var Today = new Date(); document.write("今天日期是 " + Today.getFullYear() + " 年 " + (Today.getMonth() + 1) + " 月 " + Today.getDate() + " 日"); </script>

JS Mobile 當手機按下go時獨發

jQuery(document).ready(function() { jQuery('input').keypress(function(e) { var code = (e.keyCode ? e.keyCode : e.which); if ((code == 13) || (code == 10)) { // 在這裡做一些什麼事情 return false; } } }); });

PHP 指定網頁編碼Utf8

header('Content-type: text/html; charset=utf-8');

PHP 字串編碼轉換

/**  * 實現多種字符編碼方式  * @param $input 需要編碼的字符串  * @param $_output_charset 輸出的編碼格式  * @param $_input_charset 輸入的編碼格式  * return 編碼後的字符串  */ function charsetEncode($input, $_output_charset, $_input_charset) { $output = ""; if (!isset($_output_charset)) { $_output_charset = $_input_charset; } if ($_input_charset == $_output_charset || $input == null) { $output = $input; } elseif (function_exists("mb_convert_encoding")) { $output = mb_convert_encoding($input, $_output_charset, $_input_charset); } elseif (function_exists("iconv")) { $output = iconv($_input_charset, $_output_charset, $input); } else { die("sorry, you have no libs support for charset change."); } return $output; }