Time of Update: 2016-07-21
前言:本文針對windows php環境,linux系統不在討論範疇。 出於安全的原因,伺服器是不允許php或者其他語言執行exec命令的,當你有特殊需要php在伺服器執行exec命令時,你需要設定兩個地方,不然就無法執行成功。 1、修改php.ini 找到php設定檔php.ini,如果是用星外php自動安裝程式配置php環境,這個檔案就在C:\WINDOWS\這個目錄裡。 在檔案裡搜尋“disable_functions”,找到它後把“exec”、“
Time of Update: 2016-07-21
這裡提供兩種方法供選擇:第一:手寫代碼。第二:利用HttpClient php類庫 第一種方法: 複製代碼 代碼如下: $flag = 0; //要post的資料 $argv = array( 'var1'=>'abc', 'var2'=>'你好嗎'); //構造要post的字串 foreach ($argv as $key=>$value) { if ($flag!=0) { $params .= "&"; $flag = 1; } $params.= $key."="; $params.
Time of Update: 2016-07-21
重載:同一個類中,函數名一樣,傳回值或者參數類型,個數不一樣的叫做重載。 覆蓋:同名函數,同傳回值類型,同參數的叫做覆蓋。指的是子類對父類中方法的覆蓋。 PHP不支援方法和操作符重載。JAVA不支援操作符的重載(但是“+”實際上是一種操作符重載)。 複製代碼 代碼如下: Class Father { public function fmeth1() { echo "fmeth1()..."; } //public function fmeth1($str1) { // echo "fmeth1(
Time of Update: 2016-07-21
複製代碼 代碼如下: /* * Captcha Class base on PHP GD Lib * @author Design * @version 1.0 * @demo * include('captchaClass.php'); * $captchaDemo=new Captcha(); * $captchaDemo->createImage(); */ class Captcha{ //@定義驗證碼圖片高度 private $height; //@定義驗證碼圖片寬度 private
Time of Update: 2016-07-21
無法復原的加密函數為:md5()、crypt() md5() 用來計算 MD5 哈稀。文法為:string md5(string str); crypt() 將字串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函數,無法解密。欲比對字串,將已加密的字串的頭二個字元放在 salt 的參數中,再比對加密後的字串。文法為:string crypt(string str, string [salt]); 可逆轉的加密為:base64_encode()、urlencode()
Time of Update: 2016-07-21
可以在頁面定義一個調用方法,如下: 複製代碼 代碼如下: function getData(){ $.getJSON("http://123.123.123.123/?callback=?", { "m":"data",// 指定php的檔案名稱字 "act":"getdata",// 指定php檔案中的方法 "name":"問題兒童"// 傳入的參數 }, function(data) { // 獲得傳回值 } }); }
Time of Update: 2016-07-21
PHP壓縮html網頁代碼 (清除空格,分行符號,定位字元,注釋標記)。 有個不錯的方法就是壓縮HTML,壓縮html 其實就是:清除分行符號,清除定位字元,去掉注釋標記 。它所起到的作用不可小視。 現提供PHP 壓縮HTML函數。請大家不妨試試看,感覺還不錯吧。 不廢話了,直接上代碼: 複製代碼 代碼如下: /** * 壓縮html : 清除分行符號,清除定位字元,去掉注釋標記 * @param $string * @return 壓縮後的$string * */ function
Time of Update: 2016-07-21
解決這個問題,首先需要查看你的程式是否分配了過多的記憶體,在程式沒有問題的情況下,你可以通過一下方法來增加PHP的記憶體限制(memory_limit)。 檢查php的記憶體限制值為了查看這個值,你需要建立一個空的php檔案,比如view-php-info.php。然後將一下代碼貼到裡面。將這個指令碼放到你的Web伺服器上,然後在瀏覽器中調用它。這時你可以看到你的PHP環境配置的資訊,其中有一部分是關於“memory_limit”的,
Time of Update: 2016-07-21
PHP 注釋標記 @access 使用範圍:class,function,var,define,module 該標記用於指明關鍵字的存取許可權:private、public或proteced @author 指明作者 @copyright 使用範圍:class,function,var,define,module,use 指明著作權資訊 @deprecated 使用範圍:class,function,var,define,module,constent,global,include
Time of Update: 2016-07-21
第一類方法是利用數組完成的。先把檔案名稱切割成數組,然後想辦法取得數組最後一個元素就OK了。第二類方法是通過字串的處理來完成,還有一種方法是用pathinfo()函數。 複製代碼 代碼如下: $pic = 'abc.3434.342.12123.123.exe'; $pics = explode('.' , $pic); /*得到數組總數,然後取最後一個*/ echo $num = count($pics); echo ''.$pics[$num-1]; /*遍曆數組,取得最後一個元素*/
Time of Update: 2016-07-21
找到專案檔夾下面的Lib/Action這個目錄,在下面有個建立好的例子IndexAction.class.php,加入我們建立的是admin這個項目,那麼./admin/Lib/Action/IndexAction.class.php,這個模組是預設載入的模組。在ThinkPHP中,自動載入的動作、方法、操作等等都是以index命名的。 下面,我們建立一個自己的模組,比如UserAction,class.php(注意命名規則),我們編輯這個檔案: 複製代碼 代碼如下:
Time of Update: 2016-07-21
使用方法 複製代碼 代碼如下: $mysql = new sqlstr("table1"); $mysql->set("name","value"); $mysql->set("name","1",true); echo $mysql->insertSql(); 複製代碼 代碼如下: class sqlstr { private $param=array(); private $tablename; function sqlstr($tablename) { $this->tablename
Time of Update: 2016-07-21
SESSION會話開啟時,會首先發送一個對瀏覽器的唯一標識session_id的cookie(名字為PHPSESSID可以通過session_name()擷取),同session.save_handler = files的情況下,在伺服器的指定目錄(如temp)下產生一個沒有尾碼的檔案,名字是複製代碼 代碼如下: 'sess_" + 'session_id';
Time of Update: 2016-07-21
有了phpmail這個類,你就不用愁了。這是個外國人寫的一個類,我們就只管“拿來主義”了。下面是基於這個類裡面的send()方法寫的一個函數: 複製代碼 代碼如下: function send_mail ($title,$content,$from,$to,$charset='gbk',$attachment ='') { include '/class/PHPMail.class.php'; header('Content-Type: text/html;
Time of Update: 2016-07-21
介紹 對於php效能問題,議論最多的就是__autoload()方法,很多人提到這個方法非常影響效能。還有人說opcode也能影響到__autoload()方法,所以針對這兩點我做了個測試。 最終發現__autoload方法在效能方面的影響不是很大的。 環境 PHP:5.3.9 ——以fastcgi模式啟動 Nginx:1.1.12 eaccelerator:0.9.6.1 。 最終發現__autoload方法在效能方面的影響不是很大的。 環境 PHP:5.3.9
Time of Update: 2016-07-21
也就是本文列舉的這13個PHP編碼好習慣,如果你有更好的建議,歡迎在本文後面的評論中發表,我這個人是喜歡求知的1、使用select從相同的資料庫查詢資訊時,使用一個join語句一次性整齊地擷取你需要的所有資訊,而不要寫多個mysql_query/while/mysql_fetch_array語句。 2、如果你在多個檔案中調用了一個資料庫連接,建立一個connection.php檔案儲存你的串連變數,在需要的地方將這個檔案包括進來。
Time of Update: 2016-07-21
php網頁出現亂碼一般是在建立資料庫時用的編碼和php網頁的編碼不同造成的, 用phpmyadmin建立的資料庫如果你不指定編碼他預設是latin1_swedish_ci 編碼,既瑞典語不區分大小寫,而我們中國做的網頁不是GBK就是GB2312編碼,這樣不出現亂碼才怪. 1,建立資料庫時指定編碼. 在此再嘮叨一下常用的編碼,免的新手又迷茫: 如果你做的是簡體中文網頁,那麼你在建立資料庫時用GB2312編碼,gb2312_chinese_ci.
Time of Update: 2016-07-21
下面是實現批量上傳(加入自訂屬性)思路以及實現的過程。 1.加入屬性 之所以只能上傳特定的屬性,應該是批量上傳的固定屬性都來自於一張表。esc_goods表. 所以我們想假如自己的屬性,必須要在esc_goods中加入自己的屬性.比如這次加入的欄位加 規格: goods_guige 代碼:sql語句:alter table ecs_goods add goods_guige varchar(255) not null after goods_desc; 2.頁面修改 位置:
Time of Update: 2016-07-21
@access 使用範圍:class,function,var,define,module 該標記用於指明關鍵字的存取許可權:private、public或proteced @author 指明作者 @copyright 使用範圍:class,function,var,define,module,use 指明著作權資訊 @deprecated 使用範圍:class,function,var,define,module,constent,global,include 指明不用或者廢棄的關鍵字
Time of Update: 2016-07-21
複製代碼 代碼如下: $foo = 'Bob'; // 將 'Bob' 賦給 $foo $bar = &$foo; // 通過 $bar 引用 $foo echo $foo.''; $bar = "My name is $bar"; // 修改 $bar 變數 echo $bar.''; echo $foo.''; // $foo 的值也被修改 ?> 輸出: Bob My name is Bob My name is Bob