Time of Update: 2016-07-29
複製代碼 代碼如下:$username = "zongzi"; echo substr_replace($username,'**','1','2'); 定義和用法substr_replace() 函數把字串的一部分替換為另一個字串。文法substr_replace(string,replacement,start,length)參數描述string必需。規定要檢查的字串。replacement必需。規定要插入的字串。start必需。規定在字串的何處開始替換。正數 - 在第 start
Time of Update: 2016-07-29
以下是實現例子: 複製代碼 代碼如下:/* * 偽地址轉原地址 (url_alter) */ function example_url_inbound_alter(&$path, $original_path, $path_language) { if (preg_match('|^article(/.*)|', $path, $matches)) { $path = 'node'. $matches[1]; } } /* * 原地址轉偽地址 (url_alter) */ function
Time of Update: 2016-07-29
php cookies中刪除的一般賦值方法 cookie 常用於識別使用者。cookie 是伺服器留在使用者電腦中的小檔案。每當相同的電腦通過瀏覽器請求頁面時,它同時會發送 cookie。通過 php,您能夠建立並取回 cookie 的值 文法 複製代碼 代碼如下:setcookie(name, value, expire, path, domain); ** * 設定cookie * n 名稱 * c 值 * e 有效期間 0 預設 一個月 1 關閉立即失效 */ function
Time of Update: 2016-07-29
我們只要在feedback.php中添加下面的代碼進行判斷就可以了。 注意:下邊只是一個PHP限制IP的執行個體代碼,如果您打算應用到CMS中,請自行修改,或者如果您正在使用DEDECMS,可以聯絡本站。 複製代碼 代碼如下://加IP訪問限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP'); } elseif(
Time of Update: 2016-07-29
研究了一下~方法不少~最後決定用Excel匯入~在網上搜了很多這方面的資料,發現都是將excel檔案另存新檔csv檔案,然後從csv檔案匯入。這裡介紹一個直接將excel檔案匯入mysql的例子。我花了一晚上的時間測試,無論匯入簡繁體都不會出現亂碼,非常好用。 PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader 說明:
Time of Update: 2016-07-29
一開始打算用foreach來曆遍,但是發現沒有成功,oo不過關,沒辦法oo寫······ 研究後決定用for迴圈,示範代碼如下: 複製代碼 代碼如下:$blog=array( array( "titledata"=>"titleMM", "bodydata"=>"bodyMM" ), array( "titledata"=>"titleGG", "bodydata"=>"bodyGG" ) ); //出錯 foreach($blog as $b) { $b['titledata']="BB";
Time of Update: 2016-07-29
複製代碼 代碼如下:/* Compress multiple CSS files into one and cache for an hour. Use the same code for Javascript, but replace below "text/css" with "text/javascript" and of course make sure you include .js files instead of .css ones. */
Time of Update: 2016-07-29
Fatal error: Cannot redeclare htmtocode() (previously declared in D:\www_local\mytest\conn.php:7) in D:\www_local\mytest\conn.php on line 10 這個錯誤提示出現在寫分頁檔案page.php時 google翻譯這句話的意思是“致命錯誤:不能重新聲明htmtocode()” 第10行的代碼為 //串連資料庫 include("conn.php");
Time of Update: 2016-07-29
複製代碼 代碼如下:function cleanGlobal($global_array, $arg, $specialchars = true, $default = null) { if(key_exists($arg, $global_array) && $global_array[$arg] != null && $global_array[$arg] != "") { if($specialchars) {
Time of Update: 2016-07-29
我們前期開發了一個只有公司客服人員才能使用的系統——有限的幾個客服人員。就是這有限的幾個客服人員前幾天突然就提出這樣的問題:我們每隔很短一段時間 (半個小時不操作頁面),正著急解決客戶問題的時候,系統卻提示需要登入,耽誤了客戶的時間…… 這很不爽! 客戶就是上帝,唯一的上帝。於是上峰要求我們能夠實現PHP中的session永不到期,除非我們的客服人員人為的讓他到期了。出於安全性的考慮我很不理解這種永不到期的行為;出於懶惰的原因我真的不想修改以前的程式。但是沒有辦法,我依然需要改。
Time of Update: 2016-07-29
複製代碼 代碼如下:function downloadFile($file){ /*Coded by Alessio Delmonti*/ $file_name = $file; $mime = 'application/force-download'; header('Pragma: public'); // required header('Expires: 0'); // no
Time of Update: 2016-07-29
任何一個WEB行為都可以認為是一個模組的某個操作,系統會根據當前的URL來分析要執行的模組和操作。這個分析工作由URL調度器來實現,官方內建了Dispatcher類來完成該調度。 在Dispatcher調度器中,會根據 http://servername/appName/moduleName/actionName/params 來擷取當前需要執行的項目(appName)、
Time of Update: 2016-07-29
;處理session存取的模式(預設:files) session.save_handler = files ;session檔案存放路徑(預設:/tmp) session.save_path = /tmp ;session使用cookie的功能(預設:啟動 1) session.use_cookies = 1 ;session的名字(預設:PHPSESSID) session.name = PHPSESSID ;自動啟動(預設:關 0,此處可以改為1) session.auto_start =
Time of Update: 2016-07-29
複製代碼 代碼如下://所謂斷字 (word break),即一個單詞可在轉行時斷開的地方。這一函數將在斷字處截斷字串。 // Please acknowledge use of this code by including this header. function myTruncate($string, $limit, $break=".", $pad="...") { // return with no change if string is shorter than $limit if(
Time of Update: 2016-07-29
1. 值的析取PHP中,用list來析取數組中的值,如list($a, $b) = $array。如果list中的值多於數組個數,list中多餘的值會設為NULL。也可以用逗號來跳過數組中的值,如list($a, ,$b) = $array。2.劃分數組如果想取得子數組,可以用array_slice(array, offset,
Time of Update: 2016-07-29
PHP的數組,說白了,就是關聯資料每一條數組都是以[索引,值]的形式儲存的。其中索引預設是以0開始的數字。在未指定索引時,PHP會從0開始自動產生索引。當指定一個索引,PHP會從你指定索引最大正整數的下一個整數開始。如果你指定的是小數,PHP會取整數部分做為索引。 另外說說數組其它一些小東西: array()可以聲明一個空數組; array[] = $value 在數組存在時,追加一個資料;在數組不存時,產生一個數組,並追加資料。 array[$index] = $value 在數組存在時,
Time of Update: 2016-07-29
解決方案如下,其它架構雷同。 原始碼(/system/libraries/upload.php 199 line) $this->file_type = preg_replace("/^(.+?);.*$/", "\\1", $_FILES[$field]['type']); 修改成如下: 複製代碼 代碼如下://Edit By Tacker if(function_exists('mime_content_type')){ $this->file_type = preg_replace("/^
Time of Update: 2016-07-29
1. 字串比較 在PHP中,可以用==(雙等號)或者 ===(三等號)來比較字串。兩者的區別是雙等號不比較類型,三等號會比較類型,它不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然後進行比較。這樣的話,如果是純字串或者NULL時,會轉化為0進行比較。同樣,大小於符號也和等號一樣,比較時可能出現不正確的結果。
Time of Update: 2016-07-29
並且在執行的過程中, 如果其中的某條執行失敗, 可以復原所有已更改的操作. 如果執行成功, 那麼這一系列操作都會永久有效. 事務很好的解決了在操作資料庫的時候不同步的問題. 同時, 通過事務去執行大資料量的時候, 執行效率可以提高很多很多. 在 PDO 中, 事務已經顯得非常簡單. 下面一個基本的例子, 示範了向 SQLite 資料庫插入 1000000 條資料, 並且在出錯的時候復原. 複製代碼 代碼如下:try { $conn = new PDO('sqlite:Transactioion.
Time of Update: 2016-07-29
複製代碼 代碼如下:$t1 = explode(' ', microtime()); // ... 執行代碼 ... $t2 = explode(' ', microtime()); echo ($t2[1]-$t1[1]).'s '.($t2[0]-$t1[0]).'ms'; 其實稍微試一下, 就能發現這份代碼有個嚴重的問題. 雖然 t2 得到的時間肯定比 t1 大, 但不代表, 它的微秒數就一定比 t1 的微秒數大. 所以直接相減的話, ms 部分有可能得到的是負數. 因此,