最近一個月至今:
Output:
最近一周 至今 :
上一周:
上個月初至月底:
上周一至週日:
參考
https://stackoverflow.com/questions/5212282/strtotime-a-second-before-midnight
[……]
Output:
https://stackoverflow.com/questions/5212282/strtotime-a-second-before-midnight
[……]
CSS選擇器中沒有所謂的「萬用字元(*)」,可以透過一些方式接近模糊查詢方式,查找匹配屬性或值的元素
下表屬性名稱不一定為Class,可以替換成需要的屬性
單引號可有可無
[class]比對元素包含指定屬性[id][class][href] 比對元素包含其中一個屬性[class=’test’] 完全比對元素屬性與值 (區分大小寫)[class^=’test’]比對元素屬性開頭為指定的值[class$=’test’] 比對元素屬性結尾為指定的值 [class*=’test’] 模糊比對屬性包含指定的值
See the Pen
CSS 選擇器,模糊查找匹配元素 by VECTOR.cool (@ann71727)
on CodePen.
[……]
youtube 現在分享網址有好多種,
可能是這樣:
可能是這樣:
https://www.youtube.com/watch?v=p_T3oNKjAT8
不確定User會填入哪一種分享網址的情況下,下面這方法可以解析出這些類型的 youtube id
<?php /** * Get Youtube video ID from URL * * @param string $url * @return mixed Youtube video ID or FALSE if not found */ function getYoutubeIdFromUrl($url) { $parts = parse_url($url); if(isset($parts['query'])){ parse_str($parts['query'], $qs); if(isset($qs['v'])){ return $qs['v']; }else if(isset($qs['vi'])){ return $qs['vi']; } } if(isset($parts['path'])){ $path = explode('/', trim($parts['path'], '/')); return $path[count($path)-1]; } return false; } // Test $urls = array( 'http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player', 'http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player', 'http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player' ); foreach($urls as $url){ echo $url . ' : ' . getYoutubeIdFromUrl($url) . "\n"; }
[……]
PHP開發者應該對 print_r() 不陌生,可以直接在瀏覽器中吐出Array中的結構,在Debug時邦很大的忙,但有一種情境是 SERVER 端被動接收 API 的回傳值,可能是一個POST,但我想了解這API回傳的值是否正確,於是寫了一個Log檔去紀錄,但Array直接寫入Log,會把Array強制轉型成字串,變成 “Array” 字串,還是無法知道Array裡面傳了什麼值,print_r()其實還有第二個參數,設定第二個參數,可以把Array 輸出的文字轉成字串,這樣我們就可以很容易地在Log中清楚地看見POST回傳值了。
範例:
$var = print_r($arr, true);
寫在Log忠誠這樣:
[2018-03-11 18:34:06]tset [2018-03-11 18:48:39]Array ( [CustomField1] => [CustomField2] => [CustomField3] => [CustomField4] => [MerchantID] => 2000132 [MerchantTradeNo] => 1520765300 [PaymentDate] => 2018/03/11 18:48:38 [PaymentType] => WebATM_BOT [PaymentTypeChargeFee] => 5 [RtnCode] => 1 [RtnMsg] => 交易成功 [SimulatePaid] => 0 [StoreID] => [TradeAmt] => 2000 [TradeDate] => 2018/03/11 18:48:19 [TradeNo] => 1803111848192948 [CheckMacValue] => AF663A711138967263DD625549D84BF684343BEC7527A2E76759133FF93F6A87 )
[……]
<form id="contact">
<input name="user[email]" value="jsmith@example.com">
<input name="user[pets][]" type="checkbox" value="cat" checked>
<input name="user[pets][]" type="checkbox" value="dog" checked>
<input name="user[pets][]" type="checkbox" value="bird">
<input type="submit">
</form>
$('form#contact').serializeObject();
//=> {user: {email: "jsmith@example.com", pets: ["cat", "dog"]}}
$('form#contact').serializeJSON();
//=> '{"user":{"email":"jsmith@example.com","pets":["cat","dog"]}}
'
[……]
in NginX nginx.conf
http {
client_max_body_size 300M;
send_timeout 60s;
}
in PHP.ini
post_max_size = 300M
max_input_time = 60
參考
http://stackoverflow.com/questions/4947107/nginx-upload-client-max-body-size-issue[……]
Move to Windowssystem32 folder:
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll
Move to Apache24bin folder
libssh2.dll
Uncomment extension=php_curl.dll
原文
http://php.net/manual/en/curl.installation.php
# PHP.ini取消註解
extension=php_curl.dll
[……]