PHP雜記

 preg_replace -- 執行正則表達式的搜索和替換
array_push --  將一個或多個單元壓入數組的末尾(入棧)
preg_match -- 進行正則表達式匹配
exif_imagetype($file) ---圖像類型;

echo "<SCRIPT LANGUAGE='JavaScript'>alert('得到');history.back();</SCRIPT>";
exit;

date_default_timezone_set('PRC');  北京時間;

bool file_exists ( string filename)
如果由 filename 指定的文件或目錄存在則返回 TRUE,否則返回 FALSE。

<?php

$text = "/t/tThese are a few words :) ...  ";

echo trim($text);           // "These are a few words :) ..."
echo trim($text, " /t."); // "These are a few words :)"

// trim the ASCII control characters at the beginning and end of $binary
// (from 0 to 31 inclusive)
$clean = trim($binary, "/x00../x1F");

?>
mysql 擴展
<?php if(extension_loaded('mysql')?>

bool is_writable ( string filename)
is_writable -- 判斷給定的文件名是否可寫


array_values() 返回 input 數組中所有的值並給其建立數字索引


$_GET數組中傳遞的是通過url傳遞的值,page是數組的下標
例如:
http://www.xx.cn/index.php?id=1&page=5
那麼傳遞過來的$_GET數組中
$_GET['id']=1
$_GET['page']=5


global是全局函數
$_POST,$_GET,這兩個函數是提交表單時候用到
只是$_GET提交的東西會顯示在URL中,而且會有字節限制
$_POST提交的東西不會顯示在URL中,比較安全

section 簡介
section:
section的產生是爲解決foreach的不足的,與foreach一樣,它用於設計模板內的循環塊,它較爲複雜,可極大程序上滿足程序需要,所以在程序中我習慣使用它而不使用foreach,基本原形爲:

{section name = name loop = $varName[, start = $start, step = $step, max = $max, show = true]}

name: section的名稱,不用加$
$loop: 要循環的變量,在程序中要使用assign對這個變量進行操作。
$start: 開始循環的下標,循環下標默認由0開始
$step: 每次循環時下標的增數
$max: 最大循環下標
$show: boolean類型,決定是否對這個塊進行顯示,默認爲true

這裏有個名詞需要說明:
循環下標:實際它的英文名稱爲index,是索引的意思,這裏我將它譯成"下標",主要是爲了好理解。它表示在顯示這個循環塊時當前的循環索引,默認從0開始,受$start的影響,如果將$start設爲5,它也將從5開始計數,在模板設計部分我們使用過它,這是當前{section}的一個屬性,調用方式爲Smarty.section.sectionName.index,這裏的sectionName指的是函數原型中的name屬性。
{section}塊具有的屬性值,分別爲:
1. index: 上邊我們介紹的"循環下標",默認爲0
2. index_prev: 當前下標的前一個值,默認爲-1
3. index_next: 當前下標的下一個值,默認爲1
4. first: 是否爲第一下循環
5. last: 是否爲最後一個循環
6. iteration: 循環次數
7. rownum: 當前的行號,iteration的另一個別名
8. loop: 最後一個循環號,可用在section塊後統計section的循環次數
9. total: 循環次數,可用在section塊後統計循環次數
10. show: 在函數的聲明中有它,用於判斷section是否顯示

在smarty程序中將使用
$smarty->assign("name", "李曉軍");將模板中的$name替換成“李曉軍”三個字。

在PHP中有一個非常厲害的函數,strtotime()函數,這個函數有一個異常厲害的使用方法,手冊上說的有,但是估計在實際應用中能夠想到的人不多。

我爲了計算出當前時間N天后的日期時,也是自己寫了一個很複雜的函數之後才無意間發現這個函數的,現在記錄下來以免以後又忘記了

當前時間一週之後的時間戳:strtotime(”+1 week”),這樣就行了,一週之後是這樣我想N周之後大家應該也就知道了吧,嘿嘿……

然後舉一反三,一個月之後呢?應該是strtotime(”+1 months”);

5天之後的時間呢當然是:strtotime(”+5 days”);

12個小時之後呢?strtotime(”+12 hours”);

20分鐘之後當然是:strtotime(”+20 minutes”);

30秒之後就是strtotime(”+30 seconds”);

上週六的時間呢?應該是 strtotime(”Last  Saturday“);

下週六當然是strtotime(”Next Saturday”);了

當然你也可以寫成這樣複雜的,當前時間一個月零兩週,零三天,零4個小時16分鐘32秒後的時間:

date(”Y-m-d H:i:s”,strtotime(”+1 months +1 week +3 days +4 hours +16 minutes +32 seconds”));

當前時間之後的時間是“+”,之前的時間當然用“-”就可以了!

發佈了20 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章