聲明:本系列部落格參考資料《大話設計模式》,作者程傑。 迭代器模式:迭代器模式是遍曆集合的修正模式,迭代器模式的關鍵是將遍曆集合的任務交給一個叫做迭代器的對象,它的工作時遍曆並選擇序列中的對象,而用戶端程式員不必知道或關心該集合序列底層的結構。 UML類圖: 角色: Iterator(迭代器):迭代器定義訪問和遍曆元素的介面 ConcreteIterator(
1.問題描述 實現對固定網頁上自己需要的資訊抓取,以表格形式儲存。我是拿wustoj上的一個熱門排行榜來練習的,地址:wustoj 2.思路 網頁自己就簡單學習了一下php,剛好用它來做點事情吧,我的想法是這樣的: (1)查看網頁原始碼並儲存在檔案中。 (2)根據需要的資訊寫出Regex,讀檔案,根據Regex來提取需要的資訊。寫Regex的時候最好分組,這樣提取起來就方便了很多。 (3)對excel操作,將提取的資訊以excel的形式輸出。
在PHP中,strlen與mb_strlen是求字串長度的函數,但是對於一些初學者來說,如果不看手冊,也許不太清楚其中的區別。下面通過例子,講解這兩者之間的區別。 先看例子: //測試時檔案的編碼方式要是UTF8 $str='中文a字1符'; echo strlen($str).'';//14 echo mb_strlen($str,'utf8').'';//6 echo mb_strlen($str,'gbk').'';//8
表有很多資料,可有幾條很奇怪,欄位是float類型,2個值相同 Payment 值=299.7 feiyong 值=299.7 查詢語句:feiyong>0 and Payment>0 and Payment 這時還是能查詢出來,而且只是有幾條有這問題,其他的都正常 回複討論(解決方案) 浮點數為表示很大的數,丟失了部分精度 所以在比較時應用: 兩個數的差的絕對值小於某個極小數時就視為相等 的策略 或者用 round 取得有效數後在比較
我用jpgraph產生畫布,輸入畫布,但是把圖片不能儲存成功,運行程式也沒有錯誤提示。 //用PHP畫折線圖 include("E:/phpser/AppServ/jpgraph/jpgraph/jpgraph.php"); include("E:/phpser/AppServ/jpgraph/jpgraph/jpgraph_line.php"); $datay=$pm25; $graph = new Graph(700,300,"auto");
我開發了一個廣告聯盟程式,要實現扣量的功能。就是比如本來有100的點擊量,設定扣量20%之後就只顯示80個。但是現在有個問題,我修改了扣量比例之後,使用者再去查詢原來的資料就會變,比如使用者昨天真實點擊有100個,我設定扣20%,就顯示80個,今天我設定扣30%,如果使用者去查昨天的資料就會顯示70個,這樣肯定不對啊。求思路,謝謝。 回複討論(解決方案) 問題還是沒說明白,顯示70不對那是要顯示多少?100? 折扣和時間關聯起來不就可以了嗎
Wordpress 想根據分類ID來調用相應的圖片 PHP的話,想寫成case判斷語句來調用 或者寫入mysql數值,然後寫個語句調用 大約有500+個分類 請問哪個快一些,謝謝 回複討論(解決方案) 可維護性自然是 MySQL 佔優 查詢速度取決於你的檔案組織 如果你寫 500 個 case,那麼你就該下課了 唯寫入mysql數值,那取出來不是一樣要判斷嗎? 當然是mysql調用好。
如題,我在入口檔案a.php設定好目錄以後,使用瀏覽器訪問該檔案什麼都不顯示(已經建了home檔案夾),目錄結構也不產生,為什麼呀, define("BROPHP", "./brophp"); //架構源檔案的位置 define("APP", './home'); //設定當前應用的目錄 require(BROPHP.'/brophp.php'); //載入架構的入口檔案 回複討論(解決方案) 什麼破玩意?直接 500
";?> 上面代碼,它現在是暫停以後才執行IFRAME 要怎麼改,讓sleep不影響到IFRAME裡面的2.php 回複討論(解決方案) 這是體系問題 IFRAME 要在發送到瀏覽器以後,由瀏覽器執行 但你把 php 掛起了 3 秒(sleep(3)),於是 IFRAME 要到 php 重新運行頁後才會被發送 sleep是php的方法,而html是必須等php執行完才返回給瀏覽器的。 你可以這樣寫來實現。 ";?>
表單的textarea裡提交的文本,提交以後,被寫入mysql資料庫,然後再讀出來顯示出來。結果發現斷行符號沒有了,本來好多段,結果結合起來變成一大段。 有什麼辦法把在表單的textarea裡提交的斷行符號符轉化為象這樣的html標記呢?在寫入資料庫前轉化好?還是從資料庫裡讀出來以後轉化好? 能給個具體的代碼嗎? 回複討論(解決方案) 我在網上搜到了這樣的答案,就是在儲存到資料庫的時候,不作處理。讀出來的時候,用這條語句: CurrentContent =
本人新手,現在想配置本地apache+php+phpmyadmin+mysql的環境,目前遇到問題。 首先我可以確定mysql安裝正確。 php+apache的安裝查資料後,設定連接埠為8088,在編輯了/apache24/htdocs/index.html後,能在http://localhost:8088中現實php的版本資訊。我自己感覺應該是裝好了。 目前碰到的問題是phpmyadmin的安裝。
最近需要通過PHP訪問一個.net的webservice,代碼如下: $client = new SoapClient("https://myurl.svc?wsdl",array('soap_version'=> SOAP_1_1,'trace' => TRUE,'exceptions' => FALSE)); $header = new SoapHeader("https://myurl.svc", "Authentication",
我分別在程式的開頭和結尾用microtime()函數取得目前時間,然後相減得到程式已耗用時間,在5.2版本的php上沒問題,但是在5.3、5.4和5.5三個版本的php相減結果不是0就是0.0156,跟5.2.6版本的完全不同,這是怎麼回事啊? 回複討論(解決方案) 貼出你的代碼 $startTime=microtime(true);printf("%.53f",microtime(true)-$startTime);
我用phpnow搭載一個簡單的網頁實現SQL注入,但是在php.ini裡把magic_quotes_gpc改成off沒用,運行以下代碼總是返回Y: if(get_magic_quotes_gpc()) { echo 'Y'; } else { echo 'N'; } ?> 怎麼讓phpnow不會自動轉義 回複討論(解決方案) 1. php.ini修改完了之後需要重啟 2.
linux版的phpstudy的mysql去哪裡改密碼,mysql命令輸入後就沒有用了,但是連接埠和服務已經啟動,現在不知道預設密碼是啥,蛋疼的很,,, 回複討論(解決方案) 試試空密碼看能進去不 裝mysql的時候應該提示你輸入密碼了,看你當時輸入的是什麼 預設是root 試試空密碼看能進去不 進不去,沒有介面搞得我很無解 以root空密碼登陸是什麼情況? 如果不能登陸報什麼錯誤。 phpstudy 有 Linux 版本嗎? 你說的
下面是ecshop的入口代碼,是防止重新安裝的,其中exit我不理解。 我現在的理解是:如果上面都不成立,那麼就退出了。比如安裝了後,然後程式讀到這裡,一看條件都滿足就退出了,退然都退了,整個網站不全掛了,反過來,沒有安裝他給你安裝一下,安裝了,就退出執行整個網站程式了,這到底是什麼回事,主要是exit的運行機制是啥 if (!file_exists(ROOT_PATH . 'data/install.lock') && !file_exists(ROOT_PATH .
我看到別人的手機用戶端和伺服器端互動時都帶有一個token,token的原理是什嗎?該如何??我現在使用php程式開發伺服器端該如何?? 回複討論(解決方案) token 用來驗證 請求是屬於你的用戶端發出的 只有token 校正為true時伺服器才會接受請求 返回資料 那個token就是一個令牌,用來判斷身份的。 首先伺服器建立一個token傳到用戶端,用戶端每次請求,都把token傳給伺服器驗證身份。
下面是ecshop中一個檔案的設定,感覺怪怪的。 @好理解,是為了防止notice的,可是後面的就不理解了。比如形如 ini_set('memory_limit', '64M');這是常量?顯然不對,那是啥呢 @ini_set('memory_limit', '64M'); @ini_set('session.cache_expire', 180); @ini_set('session.use_trans_sid', 0); @ini_
下面這段是判斷是否有ajax請求的 不過實在不好理解 能不能注釋一下 //判斷是否有ajax請求$act = !empty($_GET['act']) ? $_GET['act'] : '';if ($act == 'cat_rec'){ $rec_array = array(1 => 'best', 2 => 'new', 3 => 'hot'); $rec_type = !empty($_REQUEST['rec_type']) ?
請問怎麼解決phpmyadmin登陸前後連接埠自動變化 我的伺服器連接埠改成8088 但登陸後總是跳轉到8080 還要手動改才行 登陸前 登陸後 回複討論(解決方案) 腫麼可能 , 這個應該不是phpmyadmin的問題 你可以看一下你的 nginx或者apache配置 你怎麼改的? 用的環境是什嗎?Integration Environment還是單獨裝的? 你的 phpMyadmin 是什麼版本的? 低版本的要在