Time of Update: 2017-01-19
複製代碼 代碼如下: $a = array('a','b','c','d'); unset($a[2]); print_r($a); 但是這種方法的最大缺點是沒有重建數組索引. 經過查資料後.原來PHP提供了這個功能.只不過很間接.. 這個函數是array_splice. 為了使用方便.我封裝成了一個函數.方便大家使用. 複製代碼 代碼如下: function array_remove(&$arr,$offset){ array_splice($arr,$offset,1); } $a =
Time of Update: 2017-01-19
Memcache資料一致性的問題:當MySQL資料變化後,如果不能及時有效清理掉到期的資料,就會造成資料不一致。這在強調即時性的Web2.0時代,不可取。 Memcache崩潰後的雪崩效應:作為緩衝的Memcache一旦崩潰,MySQL很可能在短時間內承受高負載而宕機。據說前段時間新浪微博就遭遇了這樣的問題。
Time of Update: 2017-01-19
PHP提供了一個錯誤抑制符'@', 它是通過什麼方式來阻止錯誤輸出呢? 我又該在什麼時候使用它呢? 這是這倆天一些網友提到的共同問題, 今天就索性整體回答下, 備後來人翻閱. PHP檔案內嵌HTML的處理方式 在PHP中, 所有在標籤外的字元, 在詞法分析過程中, 都會翻譯成T_INLINE_HTML token, 在文法分析的時候, 所有的T_INLIE_HTML都會被分配ZEND_ECHO輸出. 也就是說: 複製代碼 代碼如下: <?php while($con) { ?>
Time of Update: 2017-01-19
看下面的例子: 複製代碼 代碼如下: <?php $array = array(1,2,3); function add (&$arr) { $arr[] = 4; } add(@$array); print_r($array); /** 此時, $array沒有改變, 輸出: Array ( [0] => 1 [1] => 2 [2] => 3 ) */ add($array); print_r($array); /** 不使用錯誤抑制的情況下, 輸出正常:
Time of Update: 2017-01-19
最後更新: 2011/04/02 1. 使用list來實現一次擷取explode後的特定段值: list( , $mid) = explode(';', $string); 2. 使用NULL === 來代替is_null: is_null和 NULL === 完全是一樣的效果, 但是卻節省了一次函數調用. 3. 使用===盡量不用==: PHP有倆組相等比較子===/!==和==/!=, ==/!=會有隱式類型轉換,而===/!==會嚴格比較倆個操作時是否類型相同並且值相等.
Time of Update: 2017-01-19
作為最基本的防範你需要注意你的外部提交,做好第一面安全機制處理防火牆。 規則 1:絕不要信任外部資料或輸入 關於Web應用程式安全性,必須認識到的第一件事是不應該信任外部資料。外部資料(outside data) 包括不是由程式員在PHP代碼中直接輸入的任何資料。在採取措施確保安全之前,來自任何其他來源(比如 GET 變數、表單 POST、資料庫、設定檔、會話變數或 cookie)的任何資料都是不可信任的。 例如,下面的資料元素可以被認為是安全的,因為它們是在PHP中設定的。 複製代碼
Time of Update: 2017-01-19
發現了個調試PHP源碼的好同志: PHP DEBUG TOOLS 其項目地址: http://freshmeat.net/projects/php-debug-tools/ 檔案下載地址: http://freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082 目前是1.03版本 這裡偶的環境是WINDOW XP , APACHE2.2, PHP5.2+ Zend Optimizer, 這裡結合PHP DEBUG
Time of Update: 2017-01-19
本打算配置ZendDebugger 進行調試,配置了老長時間沒配置成功,在phpinfo看不到ZendDebugger生效,經查發現是php5.3的問題,必須先卸載,本文介紹使用xdebug了。 軟體安裝太簡單了,分別執行如下命令: sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install php5-cli sudo apt-get install php5-xdebug php的配置:
Time of Update: 2017-01-19
本文執行個體講述了php計算整個目錄大小的方法。分享給大家供大家參考。具體實現方法如下:/** * Calculate the full size of a directory * * @author Jonas John * @version 0.2 * @param string $DirectoryPath Directory path */function CalcDirectorySize($DirectoryPath) { // I reccomend
Time of Update: 2017-01-19
PHP調試有很多中方法。今天給大家推薦的是 FirePHP(http://www.firephp.org/)。這個工具,是基於firefox的一個組件。Firephp組件安裝地址。使用之前需要先安裝下這個組件。完了還需要down一個FirePHP的包。下載地址。下載完成後可以看到包裡的檔案如下:我們現在來寫個例子測試下。(需要include
Time of Update: 2017-01-19
本文執行個體講述了php分割合并兩個字串的函數。分享給大家供大家參考。具體實現方法如下:這裡實現把兩個字串進行分割合并,例如str1=aaaa,str2=bbbb,合并後產生abababab/** * Merges two strings in a way that a pattern like ABABAB will be * the result. * * @param string $str1 String A * @param string $str2 String B
Time of Update: 2017-01-19
Form.php<?php//Form.phpclass form { var $layout=true;//是否使用表格版面配置 var $action;//表單要提交到的URL var $method; var $enctype=""; var $name=""; var $id=""; var $class=""; function form($action,$method="POST"){ //通過建構函式初始化成員變數
Time of Update: 2017-01-19
大概原理遍曆項目中的所有非排除檔案,然後擷取 檔案修改時間晚於檔案上一次修改時間 的檔案然後將這些檔案,通過ftp上傳到對應的目錄具體代碼如下:因為只是工具,代碼很亂,見諒<?phperror_reporting(7);if ($_SERVER['SERVER_ADDR'])exit;//禁止在web伺服器下運行$_GET['exclude'] =
Time of Update: 2017-01-19
一開始打算用foreach來曆遍,但是發現沒有成功,oo不過關,沒辦法oo寫······ 研究後決定用for迴圈,示範代碼如下: 複製代碼 代碼如下: <?php $blog=array( array( "titledata"=>"titleMM", "bodydata"=>"bodyMM" ), array( "titledata"=>"titleGG", "bodydata"=>"bodyGG" ) ); //出錯 foreach($blog as $b) {
Time of Update: 2017-01-19
本文執行個體講述了php判斷兩個日期之間相差多少個月份的方法。分享給大家供大家參考。具體實現方法如下:/** * @author injection(injection.mail@gmail.com)* @var date1日期1* @var date2 日期2* @var tags 年月日之間的分隔字元標記,預設為'-' * @return 相差的月份數量* @example:$date1 = "2003-08-11";$date2 = "2008-11-06";$monthNum =
Time of Update: 2017-01-19
分享一下: 複製代碼 代碼如下: function jsformat($str) { $str = trim($str); $str = str_replace('\\s\\s', '\\s', $str); $str = str_replace(chr(10), '', $str); $str = str_replace(chr(13), '', $str); $str = str_replace(' ', '', $str); $str = str_replace('\\', '\\\\',
Time of Update: 2017-01-19
本文執行個體講述了php實現轉換ubb代碼的方法。分享給大家供大家參考。具體如下:function ubb2html($content){global $article;//是否自動識別if ($article['isparseurl'] == "1"){$content = parseurl($content);}//自動識別結束$content =
Time of Update: 2017-01-19
複製代碼 代碼如下: function perms_str($perms){ if (($perms & 0xC000) == 0xC000) { // Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) {
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php /* 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. */ ob_start("
Time of Update: 2017-01-19
本文執行個體講述了php實現比較全的資料庫操作類。分享給大家供大家參考。具體如下:<?php class database { private $hostname; private $user; private $pass; private $dbname; private $linkflag; private $charset; function __construct() { $this->hostname="localhost"; $this-&