Time of Update: 2016-11-11
今天遇到一個奇怪的問題 使用 D('Custoemr')->find(1)語句沒有sql執行,非常奇怪。 而用其他表的model的find方法卻正常。再結合D('Custoemr')->add()方法不返回主鍵。 覺得問題應該出在主鍵上,於是再仔細檢查customer表發現果不其然有兩個主鍵。 其中一個是手誤點上去的。 所以這裡再次總結下,如果有表有多個主鍵,那麼find和create方法都不會正常執行
Time of Update: 2016-11-11
// controller 目錄下 exends.php class Controller_Extends extends Controller{ public function action_whj(){ $state = "whjsjq"; $expression = false; $view = View::factory('application/whj');//調用視圖模版檔案 $view->state = $state;//賦值視圖變數
Time of Update: 2016-11-10
n個猴子坐一圈輪流1、2、3報數,每報到3的猴子則出列。最後剩下的那隻為猴王。請用php編寫一個函數,輸入為猴子的個數和報數的起始位置,傳回值為猴王的序號Php代碼 $n || $begin1) //當數組大小不為1時迴圈報數 { //報數,往後數兩位 for($i=0;$i
Time of Update: 2016-11-10
前面介紹過一個過濾了些特殊字元的php程式,下面我們升級一下這個敏感詞過濾函數更強大了有了它再也不怕敏感詞中間加空格或者其他標點符號了。 只要使用者可以發言的地方,就可能出現廣告或者其他敏感詞,因此必須加入敏感詞過濾機制來保持網站的”純潔”。過濾機制:加入php關鍵字正則匹配//$str 為使用者資料function wordFilter($str){ /* 擷取敏感詞列表 敏感詞的儲存方法: 1:儲存在txt檔案中(一般的方法)
Time of Update: 2016-11-10
OCR的百度定義 (Optical Character Recognition,光學字元辨識)是指電子裝置(例如掃描器或數位相機)檢查紙上列印的字元,通過檢測暗、亮的模式確定其形狀,然後用字元識別方法 將形狀翻譯成電腦文字的過程;即,針對印刷體字元,採用光學的方式將紙質文檔中的文字轉換成為黑白點陣的影像檔,並通過識別軟體將映像中的文字轉換成
Time of Update: 2016-11-10
mac 報如下錯誤:[Sun Sep 06 23:44:10.162087 2015] [:error] [pid 1004] [client 127.0.0.1:52136] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] No such file or directory' in
Time of Update: 2016-11-10
1、首先開啟apache的設定檔httpd.conf,並去掉#Include conf/extra/httpd-vhosts.conf前面的#,啟用虛擬機器主機功能 2、先把localhost配置好,免得以後訪問localhost出現問題,我的wamp項目根目錄是D:\wamp\www。將下面資訊添加到apache的apache/conf/extra下的設定檔httpd-vhosts.conf後面即可; DocumentRoot "D:/wamp/www"
Time of Update: 2016-11-10
在PHP中調用MS
Time of Update: 2016-11-10
最近在編寫的PHP項目中用到了Ajax技術,使用者體驗大有提升,但同時又引入了一個新的問題,就是Ajax返回的responstText裡面的中文多半會是亂碼,即使我把頁面編碼指定為UTF-8。這是因為XMLHttp在處理返回的responstText的時候把responstBody按UTF-8編碼進行解碼的,如果伺服器端送出的資料流的確是UTF-8編碼,那麼中文字就會正確顯示,但如果是GBK或是其他編碼則會出現上述情況。解決的辦法是在伺服器端返回的資料流中加上一個header,指明送出的資料流是
Time of Update: 2016-11-10
在PHP中,可以使用單引號或是雙引號來定義一個字串。在平常的使用中並沒有細分這兩種符號定義的字串有什麼區別。今天寫了幾行代碼作為講“傳址賦值”的樣本,在這段代碼中同時使用了單引號和雙引號定義字串(請注意下面程式碼片段中的第四行和第六行),執行過後卻發生了奇妙的事情。$var1="ChrisMao";//Assignthevalue"ChirsMao"to$var1$var2=&$var1;//Reference$var1via$var2echo'Thevalueof$var2is:
Time of Update: 2016-11-10
在PHP中使用了MSSQL資料庫,恰巧資料庫中又使用了Text類型欄位,於是問題產生了。每次從資料庫中查詢得到的資料總是被莫名的截斷,一開始是以為我使用的PHP架構中對字串的長度有所限制,後來發現這是個較愚蠢的想法,因為在提交資料時可以將字串內容全部的提交到資料庫中,只是讀取時發生此現象,於是上網搜尋是否有類似的問題。運氣還挺不錯,第一次搜尋就找到瞭解決的辦法,遂決定將其轉貼在我的Blog中,供自己和廣大PHP愛好者的不時之需。有兩種解決方案,如下:
Time of Update: 2016-11-10
1) 不使用session,換作cookie能把session改成cookie,就能避開session的一些弊端,在從前看的一本J2EE的書上,也指明在叢集系統中不能用session,否則惹出禍端來就不好辦。如果系統不複雜,就優先考慮能否將session去掉,改動起來非常麻煩的話,再用下面的辦法。2) 應用伺服器自行實現共用已知的,php可以用資料庫或memcached來儲存session,從而在php本身建立了一個session叢集,用這樣的方式可以令
Time of Update: 2016-11-10
1、安裝memcached服務及php擴充apt-get install memcached php5-memcached php5-memcache2、查看是否安裝好memcached服務ps aux | grep memcached可以發現安裝完memcached是自動啟動了的。也可以如下命令查看:netstat -tap | grep 'memcached'3、如需修改設定檔請前往:/etc/memcached.conf修改完重啟pkill
Time of Update: 2016-11-10
目前的項目中,使用到了fineuploader 這個純html5上傳組件,在開發過程中將上傳服務單獨放置在特定子域下.登入cookie設定的domain 是在根域下,在後端代碼中進行使用者登入檢測,發現總會被重新導向302到未登入頁面,排查之後發現是ajax xhr請求中未帶cookie造成的網上大概搜了下,寫道原生ajax請求方式:var xhr = new XMLHttpRequest(); xhr.open("POST",
Time of Update: 2016-11-10
小程式頁面配置方式採用的是 Flex 布局。Flex 布局,是W3c在2009年提出的一種新的方案,可以簡便,完整,響應式的實現各種頁面配置。Flex布局提供了元素在容器中的對齊,方向以及順序,甚至他們可以是動態或者不確定的大小的。Flex布局的主要特徵是能夠調整其子項目在不同的螢幕大小中能夠用最適合的方法填充合適的空間。flex布局Flex布局的特點:任意方向的伸縮,向左,向右,向下,向上在樣式層可以調換和重排順序主軸和側軸方便配置子項目的空間展開和填充沿著容器對齊小程式實現了 Flex
Time of Update: 2016-11-10
之前每開發一個計劃任務功能均需要線上上操作crontab來新增項,所以想採用PHP來統一管理單個項目中的任務項, 可以通過建立表[id,name,status,func,timer,last_time,created_at] 來統一存放項目中的計劃任務指令碼,通過簡單的配置 能將各計劃任務抽象成簡單的任務類,然後通過crontab中配置的單個入口對其進行統一訪問,從而減少了上線代碼對 線上伺服器環境進行修改的麻煩. 然後此處有一些坑,因為任務按功能性質劃分可能有好幾種,比如: 1.
Time of Update: 2016-11-10
一:redis安裝Download, extract and compile Redis with:$ wget http://download.redis.io/releases/redis-3.0.4.tar.gz$ tar xzf redis-3.0.4.tar.gz$ cd redis-3.0.4$ makeThe binaries that are now compiled are available in the src directory. Run Redis with:$
Time of Update: 2016-11-10
最近合作開發項目 總發現php輸出的不對 代碼一模一樣也不行 後來機智的我感覺是編碼有問題 發現都是utf-8 的 最後把檔案內容都刪除之後發現還有3個字元大小 用vim -b 命令開啟之後發現是 感覺問題就出在這裡了。 後來才發現 這是utf-8裡面的 BOM , 噁心的是BOM 會隨著echo 輸出 導致不對。 附上幾個命令 尋找和去除BOM在vim 中:Java代碼 #設定UTF-8編碼 :set fileencoding=utf-8 #添加BOM :set
Time of Update: 2016-11-11
class Model{ protected $tableName="";//表名稱 protected $pOb;//pdo類對象 function __construct(){ $pdo=new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USERNAME,DB_PASSWORD); $pdo->exec("set names ".DB_CHARSET); $this->pOb=$pdo; } /* * 作用:增 * 參數:array
Time of Update: 2016-11-11
最近在使用icinga部署監控,在使用icinga-pnp4部署後,裡面裡的顯示曆史資料的圖形顯示不出來,報錯:localhost目錄不存在,或localhost目錄為空白 經過研究,最後確認是因為在icinga設定檔icinga.cfg裡,沒有將有關perfdata的選項開啟,導致icinga不會儲存曆史資料到指定目錄,只需將其全部開啟,重啟icinga服務,即可顯示曆史資料圖形了。