Time of Update: 2018-12-08
PHP5.5一個比較好的新功能是實現對產生器和協同程式的支援。對於產生器,PHP的文檔和各種其他的部落格文章(就像這一個或這一個)已經有了非常詳細的講解。協同程式相對受到的關注就少了,所以協同程式雖然有很強大的功能但也很難被知曉,解釋起來也比較困難。 這篇文章指導你通過使用協同程式來實施任務調度,通過執行個體實現對技術的理解。我將在前三節做一個簡單的背景介紹。如果你已經有了比較好的基礎,可以直接跳到“協同多任務處理”一節。 產生器
Time of Update: 2018-12-08
在Netbeans中由於使用了Swing進行開發,所以其中介面的字型也是由Java虛擬機器進行配置而不是隨作業系統的。在安裝完Netbeans後預設的字型大小是11px。而在Windows下的宋體最小支援12px。所以字型為11px就已經無法完整顯示了。 簡單的解決辦法就是將字型改大一點。詳細的方法是開啟Netbeans安裝目錄下的etc\netbeans.conf檔案。在: netbeans_default_options="-J-client -J-Xss2m -J-Xms32m
Time of Update: 2018-12-08
PHP檔案上傳1、upload.php複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>ddd</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
Time of Update: 2018-12-08
複製代碼 代碼如下:/** * 對資料進行編碼轉換 * @param array/string $data 數組 * @param string $output 轉換後的編碼 */function array_iconv($data,$output = 'utf-8') { $encode_arr =
Time of Update: 2018-12-08
方法一:複製代碼 代碼如下:<?php$arr1 = array(1,3, 5,7,8);$key = array_search(3, $arr1);if ($key !== false) array_splice($arr1, $key, 1);var_dump($arr1);?>輸出:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }方法二:複製代碼
Time of Update: 2018-12-08
批量過濾post,get敏感性資料複製代碼 代碼如下:$_GET = stripslashes_array($_GET);$_POST = stripslashes_array($_POST);資料過濾函數複製代碼 代碼如下:function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != 'argc' && $key != 'argv'
Time of Update: 2018-12-08
最近我從thinkphp的‘RUNTIME_ALLINONE'借鑒到經驗:不怕緩衝多,就怕調用亂,索性將所有常用的檔案全部合并成一個檔案,豈不美哉。。。複製代碼 代碼如下:function strip_whitespace($content) { $stripStr = ''; //分析php源碼 $tokens = token_get_all ($content); $last_space = false; for ($i = 0, $j = count ($
Time of Update: 2018-12-08
正常情況下,我們可以使用fseek來讀取,好處就是不會一次性讀取,以下代碼只適合邊取邊處理的情況,不適合一次性讀取一次性處理。可以用以下辦法產生測試檔案複製代碼 代碼如下:$file_handle = fopen("./csdn.txt", "rb+");for ($index1 = 1; $index1 <= 2000000; $index1++) { fwrite($file_handle,
Time of Update: 2018-12-08
PHP5.5 前不久前剛剛發布,裡面的新特性有什嗎?官方文檔在這裡:http://www.php.net/manual/zh/migration55.new-features.php1 產生器 yield關鍵字yield的中文文檔在這裡:http://php.net/manual/zh/language.generators.overview.php查看文檔,能知道yield的一個功能就是能有效降低迭代的記憶體開銷。比如官網的這個xrange例子:複製代碼 代碼如下:<?php
Time of Update: 2018-12-08
一個計算php頁面已耗用時間的函數。複製代碼 代碼如下:<?php/*@ 計算php程式已耗用時間*/function microtime_float(){list($usec, $sec) = explode(” “, microtime());return ((float)$usec + (float)$sec);}//開始計時,放在頭部$starttime = microtime_float();//結束計時,放在最底部$runtime =
Time of Update: 2018-12-08
dat檔案,關於ip對應地區的資訊檔qqwry.dat檔案網上自己下載class類檔案,解析qqwry.data檔案的IpLocation.php檔案複製代碼 代碼如下:<?phpclass IpLocation { /** * @var resource 指標 */ private $fp; /** * 第一條IP記錄的位移地址 * @var int */ private $firstip; /** *
Time of Update: 2018-12-08
PHP中的迴圈結構大致有for迴圈,while迴圈,do{} while 迴圈以及foreach迴圈幾種,不管哪種迴圈中,在PHP中跳出迴圈大致有這麼幾種方式:代碼:複製代碼 代碼如下:<?php$i = 1;while (true) { // 這裡看上去這個迴圈會一直執行 if ($i==2) {// 2跳過不顯示 $i++; continue; } else if ($i==5) {// 但到這裡$i=5就跳出循迴圈了 break;
Time of Update: 2018-12-08
HTMLPurifier外掛程式的使用下載HTMLPurifier外掛程式HTMLPurifier外掛程式有用的部分是 library使用HTMLPurifier library類庫第一種方式複製代碼 代碼如下:<?phprequire_once 'HTMLPurifier.auto.php';$config = HTMLPurifier_Config::createDefault();?>或者複製代碼 代碼如下:<?php require_once
Time of Update: 2018-12-08
按數量級遞增排列,常見的時間複雜度有:常數階O(1),對數階O(log2n),線性階O(n),線性對數階O(nlog2n),平方階O(n2),立方階O(n3)複製代碼 代碼如下://二分尋找O(log2n)function erfen($a,$l,$h,$f){ if($l >$h){ return false;} $m = intval(($l+$h)/2); if ($a[$m] == $f){ return $m; }elseif ($f
Time of Update: 2018-12-08
複製代碼 代碼如下:<?php//pki加密//使用pki加密需要開啟 openssl擴充//php.ini extension = php_openssl.dll擴充/*pki模式是 * 公開金鑰加密,私密金鑰解密; * 私密金鑰加密,公開金鑰解密; *///私密金鑰加密,公開金鑰解密//用戶端//$data資料$data = 'abcd';//擷取私密金鑰 $priv_key_id$priv_key_id =
Time of Update: 2018-12-08
simple_html_dom外掛程式用dom處理html檔案的利器使用:載入simple_html_dom.php檔案複製代碼 代碼如下:require_once 'simple_html_dom.php'new simple_html_dom對象複製代碼 代碼如下:$dom = new simple_html_dom()載入html複製代碼 代碼如下:$dom->load($html);find()方法複製代碼 代碼如下:$dom->find('div.lookLeftname'
Time of Update: 2018-12-08
複製代碼 代碼如下://php當前迴圈為1,迴圈由裡到外依次遞增,break預設為1,例如跳出第2層迴圈for ($i=0;$i<3;$i++){ foreach (array(1,2,3) as $val){ foreach (array(1,2,3) as $val){ echo "1層迴圈<br/>"; break 2; //跳出第2層迴圈
Time of Update: 2018-12-08
本項目用zend framework架構實現的modules/default/controllers/IndexController.phpIndexController.php複製代碼 代碼如下:<?phpclass IndexController extends Zend_Controller_Action{ public function init() { /* Initialize action controller here */ }
Time of Update: 2018-12-08
一.openssl簡介資料加密是資訊資訊傳輸中的一個重要組成部分.任何資訊都以明文方式傳輸,確實是個很不安全的做法.所以, 需要對資料進行加密.將明文資料轉換為密文資料,再進行傳輸. OpenSSL是一套用於SSL/TLS協議的加密工具,其作用有: 1.產生私人密鑰. 2.產生認證,即數位簽章認證,它包含一個公有密鑰,可以用來單向的加密和解密資料.即,使用公開金鑰加密的資料,只能使用 私人密鑰解密.使用私密金鑰加密的資料,可以使用公開金鑰來解密. 3.計算資訊摘要.
Time of Update: 2018-12-08
介面問題php調用介面最主要的就是使用curl抓取資訊複製代碼 代碼如下:$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url); //url地址curl_setopt($ch, CURLOPT_POST, true); //是否post請求curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //post請求傳遞的資料curl_setopt($ch, CURLOPT_HTTPHEADER,