Time of Update: 2017-01-19
Hash Table是PHP的核心,這話一點都不過分。PHP的數組,關聯陣列,對象屬性,函數表,符號表,等等都是用HashTable來做為容器的。PHP的HashTable採用的拉鏈法來解決衝突, 這個自不用多說, 我今天主要關注的就是PHP的Hash演算法, 和這個演算法本身透露出來的一些思想。PHP的Hash採用的是目前最為普遍的DJBX33A (Daniel J. Bernstein, Times 33 with Addition), 這個演算法被廣泛運用與多個軟體項目,Apache,
Time of Update: 2017-01-19
base64_encode — 使用 MIME base64 對資料進行編碼base64_encode() returns 使用 base64 對 data 進行編碼。設計此種編碼是為了使位元據可以通過非純 8-bit 的傳輸層傳輸,例如電子郵件的主體。Base64-encoded 資料要比未經處理資料多佔用 33% 左右的空間。複製代碼 代碼如下:<?php$str = 'This is an encoded string';// VGhpcyBpcyBhbiBlbmNvZGVkIHN0
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php//代理IP直接退出empty($_SERVER['HTTP_VIA']) or exit('Access Denied');//防止快速重新整理session_start();$seconds = '3'; //時間段[秒]$refresh = '5'; //重新整理次數//設定監控變數$cur_time = time();if(isset($_SESSION['last_time'])){ $_SESSION['refresh_times'] +
Time of Update: 2017-01-19
對php核心有一定瞭解的人應該都知道php的精髓就是HashTable,HashTable在php的實現中無處不在。包括php的數組、什麼全域變數、局部變數的範圍等等,php的hashtable拆開來說就是四部分:hash函數:用的是time33的散列函數,將一個字串的key轉換成一個數字一個C數組:用來儲存桶(buckets)的兩個雙向的鏈表:第一個雙向鏈表是數組的每個元素(桶bucket)是一個雙向鏈表,這樣做是為瞭解決hash衝突;第二個雙向鏈表是數組將每一個桶(bucket)串連起來,這
Time of Update: 2017-01-19
方法一:/** * 發送post請求 * @param string $url 請求地址 * @param array $post_data post索引值對資料 * @return string */function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options =
Time of Update: 2017-01-19
對於現在的應用程式來說,日誌的重要性是不言而喻的。很難想象沒有任何日誌記錄功能的應用程式運行在生產環境中。日誌所能提供的功能是多種多樣的,包括記錄程式運行時產生的錯誤資訊、狀態資訊、調試資訊和執行時間資訊等。在生產環境中,日誌是尋找問題來源的重要依據。應用程式運行時的產生的各種資訊,都應該通過日誌類庫來進行記錄。複製代碼 代碼如下:/** * Tlog類 * * @since alpha 0.0.1 * @date 2014.03.04 * @
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php//功能:遍曆並列印指定目錄下所有檔案function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //記錄檔案數目 初值為1 目錄名稱不記 $FILE_COUNT--; &
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php/** 檢測百度是否收錄網頁 curl模式* @ param string $url傳入的url* return int (1 收錄 0 不收錄)*/function
Time of Update: 2017-01-19
在php的開發中我們要包含某個檔案通常的代碼是這樣的:複製代碼 代碼如下:<?php if(is_file($fileName)) require $flleName;在windows,linux下運行都沒有問問題: 假設現在要包含一個
Time of Update: 2017-01-19
本文執行個體講述了php socket通訊(tcp/udp)方法。分享給大家供大家參考,具體如下:注意1.在socket_bind的時候ip地址不能真迴環地址如127.0.0.12.server.php後台跑起來的時候nohup php server.php > /var/tmp/a.log 2>&1 &一: udp 方式1) server.php<?php//error_reporting( E_ALL );set_time_limit( 0
Time of Update: 2017-01-19
在網上找了這方面的教程 但是基本就是沒有人說什麼 然後在某一天看見一個PHP程式設計出了一張類似這樣的資料庫設計圖之後就有了很多領悟!下面是資料庫的結構圖下面我們就來繼續一下介紹 id
Time of Update: 2017-01-19
本文執行個體講述了PHP使用file_get_content設定頭資訊的方法。分享給大家供大家參考,具體如下:直接上代碼:<?php/**Accept application/jsonAccept-Encoding gzip, deflateAccept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Connection keep-aliveCookie mzys_is_frist_access=1; mzys_c_uuid=guest_2
Time of Update: 2017-01-19
本文執行個體講述了PHP二維數組排序簡單實現方法。分享給大家供大家參考,具體如下:function multi_compare($a, $b){ $val_arr = array( 'gold'=>'asc', 'silver'=>'desc'//還可以增加額外的排序條件 ); foreach($val_arr as $key => $val){ if($a[$key] == $b[$key]){ continue; }
Time of Update: 2017-01-19
提到閉包就不得不想起匿名函數,也叫閉包函數(closures),貌似PHP閉包實現主要就是靠它。聲明一個匿名函數是這樣:$func = function() { }; //帶結束符可以看到,匿名函數因為沒有名字,如果要使用它,需要將其返回給一個變數。匿名函數也像普通函數一樣可以聲明參數,調用方法也相同:$func = function( $param ) { echo $param;}; $func( 'some string' ); //輸出://some
Time of Update: 2017-01-19
本文執行個體講述了PHP解壓tar.gz格式檔案的方法。分享給大家供大家參考,具體如下:1、運用php內建壓縮與歸檔擴充(phar)$phar = new PharData('song.tar.gz');//路徑 要解壓的檔案 是否覆蓋$phar->extractTo('c:/tmp', null, true);2、首先需要安裝pear類管理工具linux下/usr/local/php/bin/pear install Archive_Tarwamp預設沒有安裝pear,
Time of Update: 2017-01-19
模式定義委託是對一個類的功能進行擴充和複用的方法。它的做法是:寫一個附加的類提供附加的功能,並使用原來的類的執行個體提供原有的功能。假設我們有一個 TeamLead 類,將其既定任務委託給一個關聯輔助對象 JuniorDeveloper 來完成:本來 TeamLead 處理 writeCode 方法,Usage 調用 TeamLead 的該方法,但現在 TeamLead 將 writeCode 的實現委託給 JuniorDeveloper 的 writeBadCode 來實現,但 Usage
Time of Update: 2017-01-19
本文執行個體介紹了php session 寫入資料庫的方法,分享給大家供大家參考,具體內容如下<?php ## codeMaker Alpha 0.1.1 ( haowei.me )# This framework comply with the GPL license agreement# class session_handler { protected $maxlifetime = null; protected $dbHandle = null;
Time of Update: 2017-01-19
為了能讓PHP串連MSSQL,系統需要安裝MSSQL,PHP,且在PHP.ini中的配置中,將 ;extension=php_mssql.dll前面的;去掉1.串連MSSQL $conn=mssql_connect("執行個體名或者伺服器IP","使用者名稱","密碼"); //測試連接 if($conn) { echo "串連成功"; }2.選擇要串連的資料庫
Time of Update: 2017-01-19
本文執行個體講述了PHP實現原比例產生縮圖的方法。分享給大家供大家參考,具體如下:<?php$image = "jiequ.jpg"; // 原圖$imgstream = file_get_contents($image);$im = imagecreatefromstring($imgstream);$x = imagesx($im);//擷取圖片的寬$y = imagesy($im);//擷取圖片的高// 縮減後的大小$xx = 140;$yy = 200;if($x>$
Time of Update: 2017-01-19
在編寫代碼的時候有個神奇的工具總是好的!下面這裡收集了 40+ PHP 程式碼片段,可以協助你開發PHP 項目。 之前已經為大家分享了《必須收藏的23個php實用程式碼片段》。這些PHP 片段對於PHP 初學者也非常有協助,非常容易學習,讓我們開始學習吧~ 24. 從 PHP 資料建立 CSV 檔案 function generateCsv($data, $delimiter = ',', $enclosure = '"') { $handle = fopen('php://temp',