Time of Update: 2017-01-19
雖然這一特點使用PHP編程非常容易,但它也存在一個重要的缺陷:當你需要測試一個變數的類型時,處理類型比較鬆散的語言就讓人有些迷惑。幸運地是,PHP的開發人員注意到這一情況,因此在其中包含了一個函數工具包,特別用它來測試變數並查明它們屬於哪個特定的字元類別——也就是說,它們是否包含字串、整數、對象或布爾值。 下面列出了這一類別中較為有用的函數,並提供說明與應用執行個體。 empty($var)
Time of Update: 2017-01-19
本文執行個體講述了php截取中文字串函數。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:<?php//中文字串截取function substr_zh($string,$sublen,$start=0,$code='UTF-8'){ if($code=='UTF-8'){ $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\
Time of Update: 2017-01-19
本文執行個體講述了php輸入資料統一類。分享給大家供大家參考。具體如下:<?phpclass cls_request{ private $getdata;//儲存get的資料 private $postdata;//儲存post的資料 private $requestdata;//儲存request的資料 private $filedata;//儲存file的資料 private $cookiedata;//儲存cooki static $_instance;//本類的執行個體
Time of Update: 2017-01-19
無法復原的加密函數為:md5()、crypt() md5() 用來計算 MD5 哈稀。文法為:string md5(string str); crypt() 將字串用 UNIX 的標準加密 DES 模組加密。這是單向的加密函數,無法解密。欲比對字串,將已加密的字串的頭二個字元放在 salt 的參數中,再比對加密後的字串。文法為:string crypt(string str, string [salt]); 可逆轉的加密為:base64_encode()、urlencode()
Time of Update: 2017-01-19
在閱讀yii2源碼的時候接觸到了trait,就學習了一下,寫下部落格記錄一下。自 PHP 5.4.0 起,PHP 實現了代碼複用的一個方法,稱為 traits。Traits 是一種為類似 PHP 的單繼承語言而準備的代碼複用機制。Trait 為了減少單繼承語言的限制,使開發人員能夠自由地在不同階層內獨立的類中複用方法集。Traits 和類組合的語義是定義了一種方式來減少複雜性,避免傳統多繼承和混入類(Mixin)相關的典型問題。Trait 和一個類相似,但僅僅旨在用細粒度和一致的方式來組合功能。
Time of Update: 2017-01-19
本文執行個體分析了php選擇排序法實現數組排序的方法。分享給大家供大家參考。具體分析如下:選擇排序法的基本思路:直接用案例來說明吧,比如有一個數組$arr = array(2,6,3,9),從大到小排序。第一次大迴圈:它首先假設$arr[0]為最大值,然後分別跟$arr[1]~$arr[3]進行比較,如果比較它大,則進行交換,過程是這樣(2,6,3,9)---2和6比
Time of Update: 2017-01-19
本文執行個體分析了php數組添加與刪除單元的常用函數。分享給大家供大家參考。具體分析如下:<?phpheader("Content-type:text/html;charset=utf-8");$arr = array("a"=>"Horse","b"=>"Cat","c"=>"Dog");array_push($arr,"hello","world");//array_push將一個或多個單元壓入到數組末尾print_r($arr);echo "<br /
Time of Update: 2017-01-19
本文執行個體分析了php中switch與ifelse的效率區別及適用情況。分享給大家供大家參考。具體分析如下:PHP中的這兩個方法都是用於判斷值是否滿足條件,如果滿足/不滿足做出不同行為動作。不管寫什麼語言的程式,一定會考慮到代碼的運行效率問題。在查閱了一些資料後,switch與ifelse在不同的‘環境'下效率各有優勝。1、當被判斷的值是常量(固定不變的值)時,switch的運行效率比ifelse的運行效率高;$changliang=3; //
Time of Update: 2017-01-19
1、沒有正確安裝Mysql資料庫,在系統服務中Mysql相關的服務沒有啟動 (請查看正確安裝Mysql的方法) 2、在系統的 system32(C:\windows\system32) 目錄下缺少 libmcrypt.dll檔案,解決方案是找到php目錄下的libmcrypt.dll,並將libmcrypt.dll複製到C:\windows\system32目錄中,然後重新啟動Web服務。
Time of Update: 2017-01-19
當我們使用CURL來post資料的時候,需要設定post的資料 curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 假如這裡的$data是 複製代碼 代碼如下: $data = array( 'name'=>'scofield', 'time'=>'2012-2-3' ) 接下來,需要先將$data變成字串 $post_data = http_build_query($data); 而採用 http_build_query 轉換後再
Time of Update: 2017-01-19
前言:本文針對windows php環境,linux系統不在討論範疇。 出於安全的原因,伺服器是不允許php或者其他語言執行exec命令的,當你有特殊需要php在伺服器執行exec命令時,你需要設定兩個地方,不然就無法執行成功。 1、修改php.ini
Time of Update: 2017-01-19
php實現上傳圖片儲存到資料庫的方法。分享給大家供大家參考。具體分析如下:php
Time of Update: 2017-01-19
本文執行個體講述了php使用curl擷取https請求的方法。分享給大家供大家參考。具體分析如下:今日在做一個項目,需要curl擷取第三方的API,對方的API是https方式的。之前使用curl能擷取http請求,但今天擷取https請求時,出現了以下的錯誤提示:認證驗證失敗。SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL
Time of Update: 2017-01-19
本文執行個體講述了php+html5使用FormData對象提交表單及上傳圖片的方法。分享給大家供大家參考。具體分析如下:FormData 對象,可以把form中所有表單元素的name與value組成一個queryString,提交到後台。在使用Ajax提交時,使用FormData對象可以減少拼接queryString的工作量。使用FormData對象1.建立一個FormDataNull 物件,然後使用append方法添加key/value複製代碼 代碼如下:var formdata =
Time of Update: 2017-01-19
本文執行個體講述了php判斷並刪除空目錄及空子目錄的方法。分享給大家供大家參考。具體實現方法如下:步驟如下:1.遍曆目錄及子目錄2.使用 scandir 判斷目錄是否為空白,為空白則使用rmdir 刪除。<?php /** 刪除所有空目錄 * @param String $path 目錄路徑 */ function rm_empty_dir($path){ if(is_dir($path) && ($handle = opendir($path))!==false){
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php class FormModel extends Model { // 自動驗證設定 /* * 一:自動驗證 自動驗證的定義是這樣的:array(field,rule,message,condition,type,when,params) field:代表是資料庫的欄位名; rule:代表是規則; 它的值要看type的類型而定; 如果是condition 是function(callback),rule是一個函數名 condition
Time of Update: 2017-01-19
本文執行個體講述了php強制更新圖片緩衝的方法。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:/** 強制更新圖片緩存 * @param Array $files 要更新的圖片 * @param int $version 版本 */ function force_reload_file($files=array(), $version=0){ $html =
Time of Update: 2017-01-19
面象對向的三大特點:封裝性、繼承性、多態性 首先簡單理解一下抽象:我們在前面定義一個類的時候,實際上就是把一類事物共有的屬性和行為提取出來,形成一個物理模型(模版),這種研究問題的方法稱為抽象一、封裝性 封裝就是把抽取出來的資料和對資料的操作封裝在一起,資料被保護在內部,程式的其他部分只有被授權的操作(方法)才能對資料進行操作。 php提供了三種存取控制修飾符 public 表示全域,本類內部,類外部,子類都可以訪問 protected 表示受保護的,只有本類或子類可以訪問 private
Time of Update: 2017-01-19
本文執行個體講述了php中static靜態屬性和靜態方法的調用。分享給大家供大家參考。具體如下:這裡分析了php物件導向中static靜態屬性和靜態方法的調用。關於它們的調用(能不能調用,怎麼樣調用),需要弄明白了他們在記憶體中存放位置,這樣就非常容易理解了。靜態屬性、方法(包括靜態與非靜態)在記憶體中,只有一個位置(而非靜態屬性,有多少執行個體化對象,就有多少個屬性)。執行個體:<?phpheader("content-type:text/html;charset=utf-8")
Time of Update: 2017-01-19
本文執行個體講述了php延遲靜態繫結的方法。分享給大家供大家參考。具體分析如下:php延遲靜態繫結:指類的self,不是以定義時為準,而是以計算時的運行結果為準。先看一個執行個體<?phpheader("content-type:text/html;charset=utf-8");class Human{ public static function hei(){ echo "我是父類的hei()方法"; } public function