Time of Update: 2017-01-19
本文執行個體講述了php實現統計網站線上人數的方法。分享給大家供大家參考。具體實現方法如下:<?phpfunction getIpAddress() { // 取得目前使用者的IP地址 if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); }
Time of Update: 2017-01-19
之前我們講解過使用javascript擷取json資料節點路徑的問題,今天我們更進一步,講解下php擷取json資料所有的節點路徑<?phpfunction iterTree($data) { $retData = array(); $data = json_decode($data, true); if (!is_array($data) && empty($data)) { echo 'error !' ."n"; } else { $queue = array();
Time of Update: 2017-01-19
首先分享一些比較常見的$str=preg_replace("/<s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*>/i","", $str); //過濾img標籤$str=preg_replace("/s+/","", $str); //過濾多餘斷行符號$str=preg_replace("/<[ ]+/si","<",$str); //過濾<__("<"號後面帶空格)$str=
Time of Update: 2017-01-19
閑的蛋疼的時候,順便加強下自己對PHP中數組操縱的一些技巧,就寫了下面的一段小代碼,可以隨機產生卡號密碼對應的數組,並且自動去重複,思路沒有,純粹瞎掰。<?php header('Content-Type:text/html; charset=utf-8'); function MakeCard() { set_time_limit(0); //處理緩衝區 ob_end_clean(); ob_implicit_flush(true); echo str_pad(" ",
Time of Update: 2017-01-19
PHP5.4後新增traits實現代碼複用機制,Trait和類相似,但不能被執行個體化,無需繼承,只需要在類中使用關鍵詞use引入即可,可引入多個Traits,用','隔開。(1)Trait簡單使用<?php trait A { public $var1 = 'test1'; public function test1() { echo 'trait A::test1()'; }} trait B { public $var2 = 'test2'; public
Time of Update: 2017-01-19
最近伺服器時不時出現Nginx 502 Bad Gateway,如果在電腦旁邊還好,要是半夜或者出去了,怎麼辦?沒關係,寫個指令碼檢測服務狀態,發現異常,自動重啟。自動重啟指令碼:複製代碼 代碼如下:<?php $url = 'http://blog.rebill.info'; $cmd = '/usr/local/php/sbin/php-fpm restart'; for($i = 0; $i < 5; $i ++){ &
Time of Update: 2017-01-19
對於一個有經驗的 PHP Web 開發人員,這是一件非常容易的事情。但是對於剛開始接觸 PHP 程式設計語言的新手這就是一個問題。所以這裡介紹如何在常規的 HTML 程式碼中嵌入 PHP 代碼。在常規的 HTML 中嵌入 PHP 代碼建立一個 hello 指令碼,命名為 hello.php:<html><head><title>PHP Test</title></head><body><?php echo '&
Time of Update: 2017-01-19
HProf是facebook開源出來的一個php輕量級的效能分析工具,跟Xdebug類似,但效能開銷更低,還可以用在生產環境中,也可以由程式開關來控制是否進行profile。基於瀏覽器的效能分析使用者介面能更容易查看,或是與同行們分享成果。也能繪製呼叫歷程圖。在資料收集階段,它記錄調用次數的追蹤和包容性的指標弧在動態callgraph的一個程式。它專屬的資料計算的報告/後處理階段。在資料收集時,XHProfd通過檢測迴圈來處理遞迴的函數調用,並通過給遞迴調用中每個深度的調用一個有用的命名來避開死
Time of Update: 2017-01-19
常用php函數實現及介紹countcount是我們經常用到的一個函數,其功能是返回一個數組的長度。count這個函數,其複雜度是多少呢? 一種常見的說法是count函數會遍曆整個數組然後求出元素個數,因此複雜度是O(n)。那實際情況是不是這樣呢?我們回到count的實現來看一下,通過源碼可以發現,對於數組的count操作,函數最終的路徑是zif_count-> php_count_recursive->
Time of Update: 2017-01-19
前言在任何語言中,函數都是最基本的組成單元。對於php的函數,它具有哪些特點?函數調用是怎麼實現的?php函數的效能如何,有什麼使用建議?本文將從原理出發進行分析結合實際的效能測試嘗試對這些問題進行回答,在瞭解實現的同時更好的編寫php程式。同時也會對一些常見的php函數進行介紹。php函數的分類在php中,橫向劃分的話,函數分為兩大類: user function(內建函數) 和internal
Time of Update: 2017-01-19
超過75%的網站使用了PHP作為開發語言,wordpress,phpmyadmin和其他一些開源項目的盛行,帶來了一大批的長尾使用者。然而,他們一般安裝之後卻很少升級。下圖是目前PHP的使用統計。驚人的是,此圖的左半部分表示已經不被支援的PHP版本。PHP
Time of Update: 2017-01-19
PHP是一種弱類型語言, 這樣的特性, 必然要求有無縫透明的隱式類型轉換, PHP內部使用zval來儲存任意類型的數值, zval的結構如下(5.2為例):複製代碼 代碼如下:struct _zval_struct { /* Variable information */ zvalue_value value; /* value */
Time of Update: 2017-01-19
一、PHP浮點數精度損失問題先看下面這段代碼:複製代碼 代碼如下:$f = 0.57;echo intval($f * 100); //56結果可能有點出乎你的意外,PHP遵循IEEE 754雙精確度:浮點數, 以64位的雙精確度, 採用1位符號位(E), 11指數位(Q),
Time of Update: 2017-01-19
本文執行個體講述了php實現比較兩個字串日期大小的方法。分享給大家供大家參考。具體如下:<?phpfunction dateBDate($date1, $date2) {// 日期1是否大於日期2 $month1 = date("m", strtotime($date1)); $month2 = date("m", strtotime($date2)); $day1 = date("d", strtotime($date1)); $day2 = date("d",
Time of Update: 2017-01-19
本文執行個體講述了php使用substr()和strpos()聯合尋找字串中某一特定字元的方法。分享給大家供大家參考。具體分析如下:要求:在下面的字串中尋找雙豎線前面的字元,大多數清空下使用explode()函數,但項目過程中使用了太多的explode(),所以找到了下面的方法。<?php $str="admin||46cc468df60c961d8da2326337c7aa58||0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,";
Time of Update: 2017-01-19
本文執行個體講述了php猴子選大王問題解決方案。分享給大家供大家參考。具體分析如下:問題描述:一群猴子排成一圈,按1,2,...,n依次編號。然後從第1隻開始數,數到第m只,把它踢出圈,從它後面再開始數,再數到第m只,在把它踢出去...,如此不停的進行下去,直到最後只剩下一隻猴子為止,那隻猴子就叫做大王。要求編程類比此過程,輸入m、n,輸出最後那個大王的編號。解決方案:<?phpfunction king($m, $n) { for($i = 1;$i < $m +
Time of Update: 2017-01-19
本文執行個體總結了php跨伺服器存取方法。分享給大家供大家參考。具體分析如下:近來項目中遇到跨伺服器訪問的問題,研究了好些日子,總結如下:1、用file_get_contents方法$host = 'url'; $randomNumber=file_get_contents($host);echo $$randomNumber;2、用Curl$host = 'url'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $host); //
Time of Update: 2017-01-19
本文執行個體講述了php一個解析字串排列數組的方法。分享給大家供大家參考。具體如下:<?php$str="1|蘋果|301|桃子|501|普通|102|小麥|1002|玉米|352|大米|303|電腦|53|MP3|1213|印表機|8";$strArray=explode("\n",$str);/*關鍵的是下面的代碼*/$result=array();foreach($strArray as $item){ $itemArray=explode('|',$item);
Time of Update: 2017-01-19
本文執行個體講述了PHP擷取遠程圖片並儲存到本地的方法。分享給大家供大家參考。具體實現方法如下:<?phpfunction GrabImage($url, $filename = "") { if ($url == ""):return false; endif; //如果$url地址為空白,直接退出 if ($filename == "") { //如果沒有指定新的檔案名稱 $ext = strrchr($url, "."); //得到$url的圖片格式 if ($ext !=
Time of Update: 2017-01-19
PHPStorm神器可以支援更友好的laravel架構代碼提示(點擊查看),只需要執行如下才做:第一步:在項目的composer.json中添加如下一行複製代碼 代碼如下:"require": {"laravel/framework": "5.0.*","barryvdh/laravel-ide-helper":"dev-master"}第二步:執行composer update第三步:添加service provider,開啟項目config/app.php 於providers添加如下一行: