最近在做一個東西,用PHP寫的,由於要將資料庫中的圖片名字讀出來,然後訪問對應圖片,讀取圖片的大小以及解析度,重新存入資料庫。資料量現在才是處理5000條的,如果不加任何設定的話,php預設最大執行時間是30秒。 所以30秒內,我只能處理700條,剛開始只能手動,七百、七百的執行了。後來感覺這樣不行,以後的資料量會過10W,這樣會累死我的。 網上搜尋了下,有三種處理方式。 第一種 很直接,既然你預設30秒,那麼我就把你的預設時間設定長點,或者直接沒有限制。
觀察者模式觀察者設計模式能夠更便利建立和查看目標對象狀態的對象,並且提供和核心對象非耦合的置頂功能性。觀察者設計模式非常常用,在一般複雜的WEB系統中,觀察者模式可以幫你減輕代碼設計的壓力,降低代碼耦合。情境設計設計一個訂單類訂單建立完成後,會做各種動作,比如發送EMAIL,或者改變訂單狀態等等。原始的方法,是將這些操作都寫在create函數裡面但是隨著訂單建立類的越來越龐大,這樣的操作已經無法滿足需求和快速變動這個時候,觀察者模式出現了。代碼設計:[php]
當列出尋找的內容有很多條的時候我們可以將資料進行分頁顯示。user表的結構 現在要將使用者以列表的形式顯示,顯然不可能將查詢結果顯示在一頁當中,此時要將結果分頁顯示,首先將分頁控制項page.php複製到項目的control檔案中,然後我們可以在控制器中輸入如下代碼:01function actionCusList()02{03 $cus_info = User::find();04 //擷取當前是第幾頁05 $page = intval(
直接上代碼吧1 2 $string="你好啊,hello world";3 preg_match('~[\x{4e00}-\x{9fa5}]+~u', $string, $array);4 5 6 print_r ( $array );列印結果:1 Array2 (3 [0] => 你好啊4 )注意 :編碼是UTF-8的哦
什麼是適配器:適配器設計模式只是將某個對象的介面適配為另一個對象所期望的介面。
什麼是建造者模式建造者模式主要是為了消除其它對象複雜的建立過程。設計情境有一個使用者的UserInfo類,建立這個類,需要建立使用者的姓名,年齡,金錢等資訊,才能獲得使用者具體的資訊結果。建立一個UserInfoBuilder 使用者建造者類,這個類,將UserInfo複雜的建立姓名,年齡,金錢等操作封裝起來,簡化使用者類的建立過程代碼:UserInfo類,建立UserInfo類是複雜的,痛苦的。[php] view
在 php 中使用 json_encode() 內建函數(php > 5.2)可以使用得 php 中資料可以與其它語言很好的傳遞並且使用它。這個函數的功能是將數值轉換成json資料存放區格式。[php] $arr = array ( 'Name'=>'希亞', 'Age'=>20 ); $jsonencode = json_encode($arr); echo
[html]require_once("email2.php");//此為php發送郵件方法二2.(SMTP傳輸SMTP類) /** *伺服器資訊 */ $MailServer = 'smtp.163.com'; //SMTP 伺服器 $MailPort = '25'; //SMTP伺服器連接埠號碼 預設25 $MailId = 'anheng123@163.com'; //伺服器郵箱帳號
在PHPExcel/Shared/OLE/OLE_File.php 中 function init $this->_tmp_filename = tempnam($this->_tmp_dir, "OLE_PPS_File"); 下加入 if($this->->_tmp_filename==false){ $this->->_tmp_filename="C:\\WINDOWS\\Temp\\".time()."tmp";} 因為tempnam 函數 在windows2003 中 無法產生
PHP的預定義變數$_SERVER是一個包含頭部(headers),路徑資訊及指令碼位置的數組,數組的實體由web伺服器建立.利用$_SERVER數組,我們可以擷取URL完整路徑及真實路徑,讓自己隨心所欲的運用它們.$_SERVER['SERVER_NAME'] // 當前運行指令碼所在伺服器主機的名稱.$_SERVER[SERVER_PORT'] //使用者串連到伺服器時所使用的連接埠. $_SERVER['REQUEST_URI']
公司的雲平台把fsockopen關掉了,如果要使用smtp外網的郵箱來發送郵件的話 只能試試使用curl來進行了先google了一下,發現很多問相關問題的但沒有相關的解答,在phpclasses裡也沒有找到相關的類於是自己邊看stmp的相關協議邊開始嘗試curlSMTP協議這個在網上可以找到多相關的例子,可以自己實驗一下使用telnet去串連mail伺服器 $ telnet 郵箱SMTP服務地址 25Trying 郵箱服務IP地址...Connected to
很多時候使用者需要從網站下載檔案,如果檔案是可以通過一個固定連結公開擷取的,那麼我們只需將檔案存放到 webroot 下的目錄裡就好。但大多數情況下,我們需要做許可權控制,例如下載 PDF 賬單,又例如下載網盤裡的檔案。這時,我們通常藉助於指令碼代碼來實現,而這無疑會增加伺服器的負擔。例如下面的代碼: // 使用者身份認證,若驗證失敗跳轉 authenticate(); // 擷取需要下載的檔案,若檔案不存在跳轉 $file = determine_file();
前言Smarty 是一個出色的PHP模板引擎,它分離了邏輯代碼和user interface。學習和使用Smarty,沒有應用到它的緩衝技術是一個很大的損失,它可以將使用者最終看到的HMTL檔案快取成一個靜態HTML頁,當設定Smarty的cache屬性為true時,在Smarty設定的cachetime期內將使用者的WEB請求直接轉換到這個靜態HTML檔案中來,這相當於調用一個靜態HTML檔案,給後台伺服器減少很多負擔。下載與配置官方下載:Smarty
今天在使用 php 的 curl 函數時,發現需要等待大概 5 秒才能得到結果,實在是太慢了。而同樣一個 url 使用瀏覽器訪問,則立刻可以獲得頁面。後來又發現,即使不用 php,使用 Linux 下的原生命令 wget 去擷取網頁,也很慢。這真是太奇怪了,看上去不是程式的原因,而是網路設定的問題了。執行 wget 時可以明顯看到,阻塞發生在 DNS 網域名稱解析的部分。$ wget www.myproject.com--2012-06-18 12:17:30--
PHP代碼如下: 1 2 /** 3 * 逆序二維數組插入一元素 4 * 5 * @author WadeYu 6 * @date 2012-05-30 7 */ 8 $aSorted = array( 9 array(1, 100),10 array(2, 90),11 array(3, 80),12 array(4, 70),13 array(5, 60),14 array(6, 50),15 array(7, 40),16
[html] function zeng_integral(){ $jifen=& m('integral'); /*判斷網吧*/ $store=isset($store_id)?intval($store_id):0; $injifen=$jifen->get(array('user_id'=>$_SESSION['user_info']['user_id']));
一:修改檔案上傳語言為PHP 開啟fckconfig.js 找到: var _FileBrowserLanguage = 'asp' var _QuickUploadLanguage = 'asp' 改成: var _FileBrowserLanguage = 'php' var _QuickUploadLanguage = 'php'二:啟用PHP檔案上傳 1
mktime(hour,minute,second,month,day,year,is_dst)這是mktime的文法說明,一目瞭然應該不難寫出一個時間戳記的代碼來!下面這段代碼是網上大多數人給出的時間戳記現實,這個一看便知只能說是取得當前日期,而不能算是時間戳記,不用多解釋了吧!1 $now = mktime(0,0,0,date("m"),date("d"),date("Y"));2 echo "now is ".date("Y/m/d", $now);顯示結果:now is 2012/05
串連愛查快遞介面的方法一、首先去愛查快遞http://www.ickd.cn/api/reg.html申請KEY,很快的,幾分鐘就申請下來了。比快遞100好多了,服務也好多了。二、建立表單,提交資料,發送地址為:$url
01/** 02 * 產生指定長度的隨機數字03 * @author yangyingjie04 * @param $number05 * @return string06 */07function createRandNumberBySize($number)08{09 $number = (int)$number;10 if ($number === 0) {11 return '';12 } else {13