position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: #000;
opacity: 0.65;
z-index: 100;
2018年12月10日 星期一
2018年9月7日 星期五
【PHP】瀏覽過的商品
function save_history($id,$max=10)
{
$t = 60 * 60 * 24 * 365;
if ($_COOKIE['history_goods'])
{
$history_goods_arr = json_decode($_COOKIE['history_goods'],true);
if (in_array($id,$history_goods_arr))
{
return false;
}
if (count($history_goods_arr) >= $max)
{
array_shift($history_goods_arr);
}
$history_goods_arr[] = $id;
setcookie("history_goods",'',time()-3600);
setcookie("history_goods",$history_goods,time()+$t);
} else {
$history_goods_arr[] = $id;
$history_goods = json_encode($history_goods_arr);
setcookie("history_goods",$history_goods,time()+$t);
}
}
2018年8月17日 星期五
【PHP】extract
extract 這很好用可以直接把陣列變成變數
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
但不要用於GET和POST
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
但不要用於GET和POST
【PHP】htmlspecialchars && htmlentities && urlencode
htmlspecialchars 與 htmlentities 感覺效果一樣都是把HTML的標籤變成代碼
但 htmlspecialchars 只會轉換特定的符號,htmlentities 轉換的比較多
所以一般要用 htmlspecialchars 速度較快
urlencode 主要是編碼 URL
但 htmlspecialchars 只會轉換特定的符號,htmlentities 轉換的比較多
所以一般要用 htmlspecialchars 速度較快
urlencode 主要是編碼 URL
【PHP】serialize && json
有天看到資料別人資料出現:a:2:{i:0;s:1:"1";i:1;s:1:"2";}
這是三小,
後來查一下他是用 serialize 將 array 編碼後的字串,
我一般都是用 json_encode 將陣列編碼在存入資料庫,
查了一下 serialize 好處是可以把整個class轉成字串,
但一般沒特殊需求還是用 JSON 格式,不但可讀也可跨平台。
這是三小,
後來查一下他是用 serialize 將 array 編碼後的字串,
我一般都是用 json_encode 將陣列編碼在存入資料庫,
查了一下 serialize 好處是可以把整個class轉成字串,
但一般沒特殊需求還是用 JSON 格式,不但可讀也可跨平台。
2018年7月2日 星期一
【Google】AMP 行動網站加速計劃
2018年6月29日 星期五
【PHP】判斷連結圖片是否存在,如果不存在將他移除
// 建立白名單
require_once('../class/htmlpurifier/HTMLPurifier.auto.php');
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML', 'Allowed',
'
,area[accesskey|alt, coords|href|name|shape|tabindex|target]
,img[alt|border|height|ismap|src|usemap|width]
,b,blockquote[cite],br,dd,dl,dt,em,h1,h2,h3,h4,h5,h6
,hr,i,li[value],map,ol[start|type]
,nav[accesskey|contenteditable|contextmenu|data-*|draggable|dropzone|hidden|spellcheck|tabindex|translate]
,ol[start|type],p,pre,rp,rt,ruby,s,small,source,strike,strong,style,sub,sup,
,table[border|cols|summary|cellpadding|cellspacing|align]
,tbody[valign],td[bordercolor|colspan|rowspan],tfoot[valign]
,th[colspan|rowspan|scope],thead[valign],tr[colspan|rowspan]
,tt,u,ul,video[autoplay|controls|height|loop|muted|poster|preload|src|width]
,div[style|class|id]
,span[style|class|id]
'
);
$purifier = new HTMLPurifier($config);
$rs['description'] = $purifier->purify($rs['description']);
// 判斷連結圖片是否存在,如果不存在將他移除
preg_match_all("/
/", $rs['description'], $img_arr);
if ($img_arr)
{
foreach($img_arr[1] as $key=>$img)
{
$size_arr = getimagesize($img);
if (!$size_arr)
{
$img_arr[0][$key];
$rs['description'] = str_replace($img_arr[0][$key], '', $rs['description']);
}
}
}
2018年6月28日 星期四
【PHP】addslashes & stripslashes 符號前加斜線
常常忘了這兩個函數 addslashes、stripslashes
$str = "Is your name O'reilly?"; // 輸出:Is your name O\'reilly? $str = addslashes($str); echo $str; echo stripslashes($str);
【PHP】簡易mail發送
// 寄信 email可用逗點分隔一次寄給多人
function send_mail($subject, $content, $email, $cc=array()){
$charset = 'utf-8';
$sitename = PROJECT_NAME;
$ADM_EMAIL = ADM_EMAIL;
$encoded_subject = mail_header_encode($subject,$charset);
$sitename2 = mail_header_encode($sitename,$charset);
$headers = "From: ".$sitename2 ."<".$ADM_EMAIL.">". "\r\n";
$headers .= "Content-Type: text/html; charset=$charset; format=flowed". "\r\n";
$headers .= "MIME-Version: 1.0". "\r\n";
$headers .= "Content-Transfer-Encoding: 8bit". "\r\n";
$headers .= "X-Mailer: PHP". "\r\n";
if ($cc){
foreach($cc as $mail){
$headers .= "Cc: $mail" . "\r\n";
}
}
$r = mail($email, $encoded_subject, $content, $headers);
return $r;
}
// 寄信用的編碼
function mail_header_encode($str,$charsets){
return "=?$charsets?B?".base64_encode($str)."?=";
}
【jquery】插入內容方式
久沒用就會忘記,快點記下來
after()
before()
insertAfter()
insertBefore()
prepend()
prependTo()
append()
appendto()
after()
before()
insertAfter()
insertBefore()
prepend()
prependTo()
append()
appendto()
訂閱:
意見 (Atom)