2016年11月16日 星期三
2016年11月15日 星期二
【PHP】單數&複數 位元運算子
今天在查資料時突然看到單複數的範例,
一般網站都是直接%2看有沒有餘數,
但他是用位元運算子 (Bitwise Operators),
挖這是讀書時才聽過的東西,這邊記錄一下,
網站真的比較少用:
一般網站都是直接%2看有沒有餘數,
但他是用位元運算子 (Bitwise Operators),
挖這是讀書時才聽過的東西,這邊記錄一下,
網站真的比較少用:
function odd($var)
{
return($var & 1);
}
function even($var)
{
return(!($var & 1));
}
{
return($var & 1);
}
function even($var)
{
return(!($var & 1));
}
2016年11月14日 星期一
【PHP】把 table 的寬變成空白,preg_replace取代某部分
本來覺得很簡單的問題,結果試了好久,這邊紀錄一下,
今天有一段字串,
例如:<table class="mytable" width="200" height="300">
目的把是把 width="" 變成:
<table class="mytable" width="" height="300">
作法:
今天有一段字串,
例如:<table class="mytable" width="200" height="300">
目的把是把 width="" 變成:
<table class="mytable" width="" height="300">
作法:
【PHP、MySQL】SQL搜尋分段LOG
今天要抓出半年內每個商品被點擊次數,在存入 PROD_CLICK
因為 LOG 量太大,所以每個月都會產生新的表單來儲存
類似:PROD_LOG_1606 ~ PROD_LOG_1612
所以要搜尋半年就會有6個資料表
步驟:
1.依目前日期及指定幾個月算出有幾個資料表
因為 LOG 量太大,所以每個月都會產生新的表單來儲存
類似:PROD_LOG_1606 ~ PROD_LOG_1612
所以要搜尋半年就會有6個資料表
步驟:
1.依目前日期及指定幾個月算出有幾個資料表
方法很多,可以直接用月份去減,但為了比較活我這邊是用天數去減,
$prod_click_day = $SS->getData('prod_click_day'); // 抓出設定天數
$day = strtotime("-$prod_click_day day"); // 用時間戳記來算差別的日期
$difMonth = date("m",time() - $day); // 算出與面前相差的月份
$prod_click_day = $SS->getData('prod_click_day'); // 抓出設定天數
$day = strtotime("-$prod_click_day day"); // 用時間戳記來算差別的日期
$difMonth = date("m",time() - $day); // 算出與面前相差的月份
2016年11月9日 星期三
【PHP】PChome 廣告刊登-免費刊登廣告,製作匯入ZIP檔
這次要將公司商品放在PChome免費廣告中,
在廣告刊登中有一項多筆匯入的功能,
我要寫程式匯出商品後直接匯入PChome,
有點麻煩所以做成筆記,
匯入的限制:要上傳ZIP並裡面附圖片且圖要超過400*400,每張圖不能超過200K。
製作步驟
1.首先第一步當然是將公司上架商品從資料庫撈出來
在廣告刊登中有一項多筆匯入的功能,
我要寫程式匯出商品後直接匯入PChome,
有點麻煩所以做成筆記,
匯入的限制:要上傳ZIP並裡面附圖片且圖要超過400*400,每張圖不能超過200K。
製作步驟
1.首先第一步當然是將公司上架商品從資料庫撈出來
因為有檔案大小限制10MB,所以要做分頁上傳,一張圖片抓100kb,
一次只能上傳100筆,結果5000多品就要上傳50幾次..
一次只能上傳100筆,結果5000多品就要上傳50幾次..
2016年7月25日 星期一
【PHP】會員層級 遞迴運用
今天有個case要做會員層級的階層圖
畫面如下:
HTML:
<ul id="org" style="display:none">
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美
<ul>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
<li><span class="icon"><img src="/images/icon_man.png" alt=""></span>林筱美</li>
</ul>
</li>
</ul>
</li>
</ul>
<link rel="stylesheet" href="/css/jquery.jOrgChart.css">
<script type="text/javascript" src="/js/jquery.jOrgChart.js"></script>
<script>
$(document).ready(function() {
$("#org").jOrgChart({
chartElement: '#chart'
});
});
</script>
2016年7月13日 星期三
【PHP】json 相關 中文亂碼、解碼後為陣列
解決PHP json_encode 中文是亂碼問題
雖然編碼後中文是亂碼,decode之後又會變回正常
但如果存入資料庫要是中文就要用:
雖然編碼後中文是亂碼,decode之後又會變回正常
但如果存入資料庫要是中文就要用:
PHP 5.4 以下:
function jsonRemoveUnicodeSequences($struct) { return preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($struct)); }
PHP 5.4 以上:
json_encode($str,JSON_UNESCAPED_UNICODE);
解碼要變成陣列:
json_decode($str,true);2016年7月6日 星期三
【PHP】header 中加入Authorization token驗證
今天再串某家商成的API,要使用Authorization token驗證,
這邊記錄一下步驟:
1.依照API手冊先取得連線的token
2.用curl方式將token加入header中
加入方式:
Code 部分:
// 取得token $token = get_token(); $url = THIS_API_URL.$url; // 將token加入header中 $API->http_header = array(); $API->http_header[] = 'Content-type: application/json'; $API->http_header[] = 'Authorization: basic '.$token; $API->send_method = $send_method; // 執行 $return = $API->curl_file_get_contents($url,$array); $return = json_decode($return,true);
Class 部分:
class API { // POST 資料 public $send_method = 'post', // 傳送方式 $http_header = array('Content-Type: text/plain') ; public function curl_file_get_contents($url,$request=array()) { $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 if ($this->send_method == 'post') { curl_setopt($curl, CURLOPT_POST, count($request)); // 發送一個常規的Post請求 curl_setopt($curl, CURLOPT_POSTFIELDS, $request); // 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); // 獲取的信息以文件流的形式返回 curl_setopt($curl, CURLOPT_HTTPHEADER, $this->http_header); $r = curl_exec($curl); // 執行操作 if (curl_errno($curl)) { echo 'Errno'.curl_error($curl);//捕抓異常 } curl_close($curl); // 關閉CURL會話 return $r; } }php 要讀取 Authorization 要在 .htaccess 加上:
RewriteEngine on
RewriteRule .? - [E=Authorization:%{HTTP:Authorization}]
print_r($GLOBALS);
2016年6月22日 星期三
【Jquery】position:fixed 可左右拉動
今天遇到一件奇怪的需求,
在使用 CSS position:fixed 使區塊固定時,
當拉動左右的卷軸時這個區塊也要跟著動,
這時只能用javascript來解決:
在使用 CSS position:fixed 使區塊固定時,
當拉動左右的卷軸時這個區塊也要跟著動,
這時只能用javascript來解決:
$(window).scroll(function(){ $(".nav").css({ // 要移動的class或div 'left': 0 - $(this).scrollLeft() }); $(".footer").css({ 'left': 0 - $(this).scrollLeft() }); });
2016年5月17日 星期二
訂閱:
文章 (Atom)