Time of Update: 2016-11-30
代碼如下: //判斷遠程檔案 function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回資料 curl_setopt($curl, CURLOPT_NOBODY, true); // 發送請求 $result = curl_exec($curl); $found = false; // 如果請求沒有發送失敗 if ($result !== false) { // 再檢查http響應碼是否為200
Time of Update: 2016-11-30
首先介紹一下所涉及的資料表結構,四個欄位: 代碼如下: uid<int(10)> :使用者id session_id<varchar(40)> :使用者登入後系統產生的session_id,PHP可是使用session_id()函數擷取 login_time<int(10)> :登入時間 logout_time<int(10)> :登出時間
Time of Update: 2016-11-29
建立目錄是在檔案上傳中經常會碰到的事情,如果我要根據日期來產生相對就的目錄並且儲存檔案,這樣就需要這個功能了,執行個體代碼如下:function mkdirs($dir) { if(!is_dir($dir)){ if(!mkdirs(dirname($dir))){ return false;} if(!mkdir($dir,0777)){ return false;} } return true; } //測試方法 $img_path =
Time of Update: 2016-11-30
得到HTTP_USER_AGENT 的方法很簡單,比如php代碼: 複製代碼 代碼如下: <?php print_r($_SERVER); ?> 複製代碼 代碼如下: <?php print_r($_SERVER['HTTP_USER_AGENT']); ?> 這兩種都可以得到User-Agents和IP等資訊,最好配合Regex,對資訊進行篩選剔除。 ————? User-Agents列表————- Internet Explorer 6
Time of Update: 2016-11-30
昨天和一個前同事聊天,各種吐槽PHP,吐槽Swoole,他認為PHP到處是坑,PHP局限很大。PHP+Swoole不適合做高並發伺服器,C+Swoole才是最好的方案。C++有各種資料結構,C++可以開線程,C++可以共用對象。看來有必要好好得說明一下了。HP比C/C++或Java少了什嗎?多線程,多線程,多線程……是的。PHP比C/C++、Java少了多線程。PHP只有多進程的方案,所以PHP裡的全域變數和對象不是共用的、資料結構也不能跨進程操作、Socket檔案描述符不能共用等等。所以PHP
Time of Update: 2016-11-30
//--------------------//基本資料結構//--------------------//二分尋找(數組裡尋找某個元素)functionbin_sch($array,$low,$high,$k){if($low<=$high){$mid=intval(($low+$high)/2);if($array[$mid]==$k){return$mid;}elseif($k<$array[$mid]){returnbin_sch($array,$low,$mid-1,$k)
Time of Update: 2016-11-30
代碼如下: <?php /* * 流程式控制制 * * 一、順序結構 * 二、分支結構--條件結構--選擇結構 * 1.單路分支 * //條件bool,true或false,> < == !- & || ! * if(條件) * 執行下面一條語句 * if(條件) * { * 程式碼片段; * 程式碼片段; * } * * 2.雙路分支 * 使用else從句 * * if(條件) * 執行一條語句 * else * 執行一條語句 * if(條件){ * 一條或多條代碼
Time of Update: 2016-11-30
複製代碼 代碼如下: <?php defined('SYSPATH') OR die('No direct access allowed.'); class Controller_Jobs extends Controller_Base{ public function before(){ parent::before(); if(Request::$protocol != "cli"){ die("Only cli
Time of Update: 2016-11-30
代碼如下: <?php /* * 封裝性:物件導向三大特性之一 * * 1.就是把對象的成員(屬性,方法)結合成一個獨立的相同單位,並儘可能隱藏對象的內部細節 * 存取權限修飾符 public protected private * private:私人的,用這個關鍵字修飾的成員,只能在對象內部訪問(只有用$this訪問) * * 屬性可以封裝: * 只要一個變數,需要在多個方法使用,就將這個變數聲明為成員屬性,可以直接在這個對象中的所有方法中使用 * *
Time of Update: 2016-11-29
strpos() 函數返回字串在另一個字串中第一次出現的位置,如果沒有找到該字串,則返回 false.文法:strpos(string,find,start),代碼如下:$str="hello world"; //定義字串1 $result=strpos($str,"ll"); //執行尋找最早出現的位置 echo $result; //輸出結果,2 strrchr()
Time of Update: 2016-11-29
本文章收藏了大量的php中檔案操作函數如有檔案開啟,建立,刪除,更變組,讀取寫檔案,檔案上傳以及開啟遠程檔案,把內容寫入檔案等執行個體.$fp=fopen("test.txt","r"); //以唯讀方式開啟檔案,將檔案指標指向檔案頭 $fp=fopen("test.txt","r+"); //以讀寫方式開啟檔案,將檔案指標指向檔案頭
Time of Update: 2016-11-29
內容說明:本函數用來建立一張 gif 格式圖形,參數 im 為使用 imagecreate() 所建立的圖片代碼,參數 filename 可省略,若無本參數 filename,則會將圖片指接送到瀏覽器端,記得在送出圖片之前要先送出使用 content-type: image/gif 的標題字串 (header) 到瀏覽器端,以順利傳輸圖片。若要使用透明背景的 gif 圖,也就是 gif89a 的格式,需要先使用 imagecolortransparent()
Time of Update: 2016-11-29
定義和用法:abs() 函數返回一個數的絕對值.文法:abs(x),代碼如下:$abs=abs(-3.2); //$abs=3.2 $abs2=abs(5); //$abs2=5 $abs3=abs(-5); //$abs3=5 定義和用法:ceil() 函數向上舍入為最接近的整數.文法ceil(x)參數 描述x 必需,一個數.說明:返回不小於 x 的下一個整數,x 如果有小數部分則進一位,ceil() 返回的類型仍然是 float,因為 float
Time of Update: 2016-11-29
Union與Union All的區別如果我們需要將兩個select語句的結果作為一個整體顯示出來,我們就需要用到union或者union all關鍵字。union(或稱為聯合)的作用是將多個結果合并在一起顯示出來。union和union all的區別是,union會自動壓縮多個結果集合中的重複結果,而union all則將所有的結果全部顯示出來,不管是不是重複。Union:對兩個結果集進行並集操作,不包括重複行,同時進行預設規則的排序;Union
Time of Update: 2016-11-30
<?php /** * 命令模式 * * 將一個請求封裝為一個對象從而使你可用不同的請求對客戶進行參數化,對請求排除或記錄請求日誌,以及支援可取消的操作 */ interface Command { public function execute(); } class Invoker { private $_command = array(); public function setCommand($command) { $this->_command[] = $command; }
Time of Update: 2016-11-29
function ssubstr($string, $length, $dot = ' ...') { global $charset; if(strlen($string) <= $length) { return $string; } $string = str_replace(array('&', '"', '<', '>'
Time of Update: 2016-11-29
函數定義:1.函數是一個被命名的,2.獨立的程式碼片段,3.函數執行特定任務,4.並可以給調用它的程式返回一個值.函數的優點:1.提高程式的重用性,2.提高程式的可維護性,3.可以提高開發效率,4.提高軟體的可靠性,5.控製程序的複雜性.函數的聲明: function 函數名(){ } function 函數名(參數1,參數2,參數...) { 函數體 } function 函數名() { 函數體; 傳回值; } function 函數名(參數列表...)
Time of Update: 2016-11-30
這裡我們從萬網或新網的資料介面取得資料,透過php的簡單文本處理再輸出。 複製代碼 代碼如下: <php? $domain = $_GET['q']; preg_match("| <div class="\"lyTableInfoWrap\"">(.+?)</div> |is", @file_get_contents('http://www.php.cn/Modules/agent/
Time of Update: 2016-11-29
<?php/** *列出所有載入的擴充及其包含的函數 */$exts = get_loaded_extensions();foreach ($exts as $ext) { $funs = get_extension_funcs($ext); echo "當前副檔名稱:" . $ext . "及其包含的函數<br>"; foreach ($funs as $fun) { echo "<li&
Time of Update: 2016-11-29
在我們用textarea時會發現斷行符號與空格是不可看到的,所以我們利用str_replace函數將php中的\\n替換成br就可以了,有需要的朋友可以參考,代碼如下:function htmtocode($content) { $content = str_replace("n", "<br>", str_replace(" ", " ", $content)); return