PHP中有三種存取修飾詞,分別是: public(公用的、預設) protected(受保護的) private(私人的) 它們可以分別用在類的屬性和方法上(類的屬性和方法統稱為類的成員),用來修飾類成員的存取權限。 public(公用的、預設) 在PHP5中如果類沒有指定成員的存取修飾詞,預設就是public的存取權限。 /* 以下兩個方法聲明存取權限效果相同 */ function say(){}; publilc function say(){};
繼上篇文章 PHP – EasyUI DataGrid 資料取的方式,本篇繼續講述,如何操作 DataGrid,把資料存入資料庫,並實現 MVC 架構,將資料層分離、獨立運作。本篇文章主要是改良,原 EasyUI DataGrid 的範例 Build CRUD Application with jQuery EasyUI。在官方範例中已經示範如何操作資料,但其中有個問題就是,你要操作資料的每個動作都需要一支對應的程式才能動作,像是新增、刪除、修改以及取得資料,總共至少要有四支對應程式才能運作。
EasyUI DataGrid 是一個用 Jquery 寫的 DataGrid,由此可知,是一個 前端 Web UI 技術,一般大家在產生 DataGrid 比較常見的應該就是使用後台 PHP 等後台語言,來直接產生 HTML 文法,來顯示 DataGrid,當要對該 DataGrid 操作時,在傳遞參數到後端,重新產生整各網頁。 而 EasyUI DataGrid 支援兩種做法,一個是,上述,後台 server 把顯示的 HTML 產生好,在給最上層顯示。另一種是,利用 AJAX
複製代碼 代碼如下: /******************************************** * * 函數名:get_utf8_to_gb($value) * 作 用:utf8編碼字串轉換成gb2312編碼 * 作 者:劉先忠 * 日 期:2011-11-09 * ********************************************/function get_utf8_to_gb($value){ $value_1=
相信有很多朋友還不知道,可以在smarty模板裡調用php的內建函數,我們一起來看看它的用法。模板書寫: {'param1'|functionName:'param2':'param3'} php函數原型: echo functionName('param1','param2','param3'); 執行個體: {'1234567'|substr:'1':'2'}下面這個和函數的參數順序有關係
一, 分區概念 分區允許根據指定的規則,跨檔案系統分配單個表的多個部分。表的不同部分在不同的位置被儲存為單獨的表。MySQL從5.1.3開始支援Partition。分區和手動分表對比手動分表 分區多張資料表一張資料表重複資料的風險沒有資料重複的風險寫入多張表寫入一張表沒有統一的約束限制強制的約束限制 MySQL支援RANGE,LIST,HASH,KEY分區類型,其中以RANGE最為常用:Range(範圍)–這種模式允許將資料劃分不同範圍。例如可以將一個表通過年份劃分成若干個分區。
修改:config.inc.php在第一行加入$ip_prefix = '192.168.121.'; if (substr($_SERVER['REMOTE_ADDR'], 0, strlen($ip_prefix)) != $ip_prefix ) die('illegal access
在以前的一個公司內部管理系統(InnerOA)中,對於分類樹的構造我採用的是dTree,實現無限級目錄顯示及右鍵菜單功能(右鍵菜單中包括:建立、修改、共用、刪除、重新整理等功能,如所示)關於公司內部管理系統(InnerOA)中分類樹的一些知識以後有時間將整理並提供源碼。但是dTree唯一遺憾的是不支援拖拽排序功能,這讓我在完成InnerOA之後心裡一直糾結的問題。在網上查看關於分類樹的一些內容,dTree是我目前認為最符合我項目的一個。在一個偶然機會,發現了另一個強大的分類樹,也就是本文所說的:
有一個TXT檔案,包含了10萬條記錄,格式如下:列1 列2 列3 列4 列5a 00003131 0 0 adductive#1 adducting#1 adducent#1a 00003356 0 0 nascent#1a 00003553 0 0 emerging#2 emergent#2a 00003700 0.25 0
當你的資料中有一些 \ ” ‘ 這樣的字元要寫入到資料庫裡面,又想不被過濾掉的時候,它就很有用,會在這些字元前自動加上\,如中國\地大物博”哈哈”中國\\地大物博\”哈哈\”可以使用set_maginc_quotes_runtime(0)關閉掉,當然你也可以直接在php.ini中設定。get_magic_quotes_runtime() 取得 PHP 環境變數 magic_quotes_runtime 的值。magic_quotes_gpc 為 on,它主要是對所有的 GET、POST
Regex(Regular Expression,縮寫為regexp,regex或regxp),又稱正規運算式、正規表示式或常規運算式或正規化標記法或正規標記法,是指一個用 來描述或者匹配一系列符合某個句法規則的字串的單個字串。在很多文字編輯器或其他工具裡,Regex通常被用來檢索和/或替換那些符合某個模式的文本 內容。許多程式設計語言都支援利用Regex進行字串操作。例如,在Perl中就內建了一個功能強大的在Regex引擎。Regex這個概念最初是由
PHP在運行時, 針對嚴重程度不同的錯誤,會給以不同的提示。 eg:在$a沒聲明時,直接相加,值為NULL,相加時當成0來算.但是,卻提示NOTICE,即注意. 我們在開發中, 為了程式的規範性,把報錯層級,調的比較高NOTICE層級的也報出來,有助於我們快速定位錯誤和代碼規範,但是,在產品上線後,網站運營過程中,就不宜報這麼多錯. 1:這種錯誤給客戶的印象不好 2:在報錯時,把網站的絕對路徑,如D:\www\1015都報出來了.增大被攻擊的風險
一個是:DIRECTORY_SEPARATOR DIRECTORY_SEPARATOR:路徑分隔字元,linux上就是‘/' windows上是‘\' 一個是:PATH_SEPARATOR PATH_SEPARATOR:include多個路徑使用,在windows下,當你要include多個路徑的話,你要用”;”隔開,但在linux下就使用”:”隔開的。
方法1 :據官方手冊上描述若php教程的safe mode相關的設定過於苛刻,就會出現這樣的情形:儘管檔案真實存在也被誤判,認為檔案不存在。 由於伺服器端的php.ini我們無法操縱,當用ini_set()也關閉不了safe mode模式,我們只有退而求其次,找一個更可靠、安全的檢測方法來檢測檔案是否存在。我們可以藉助 $_server['document_root'] 來加以實現。$_server['document_root']
今天在開發碰到個棘手的問題 。當非同步請求幕後處理一個大資料量操作時 請求其他控制器都沒返回資訊了。。起初以為是Ext 架構設定了ajax同步造成的。後來發現時session 死結造成其他控制器在等待session 完成後才能操作。(主要是使用者登入判斷需要更新session)當PHP 處理大資料量操作時 不能及時操作完成 這時候又有訪問其他控制器或者非同步請求時候會造成session 死結現象和同事探討了下 可使用 session_write_close() 解決此問題複製代碼
摘要 記憶體管理對於長期啟動並執行程式,例如伺服器精靈,是相當重要的影響;因此,理解PHP是如何分配與釋放記憶體的對於建立這類程式極為重要。本文將重點探討PHP的記憶體管理問題。一、 記憶體在PHP中,填充一個字串變數相當簡單,這隻需要一個語句"<?php $str = 'hello world '; ?>"即可,並且該字串能夠被自由地修改、拷貝和移動。而在C語言中,儘管你能夠編寫例如"char *str = "hello world
我們需要在url中傳遞中文字元或是其它的html等特殊字元,似乎總會有各種亂,不同的瀏覽器對他們的編碼又不一樣,對於中文,一般的做法是:把這些文本字串傳給url之前,先進行urlencode($text)一下;但是對於一些很“危險”的字元,比如說html字元,甚至是SQL注入相關的字元,如果很明顯的傳給系統,出於安全考慮,系統一般都會把它們過濾掉的。現在,我們需要這些危險字元,該這麼辦?我想到的辦法是 先給它們 base64_encode($text) 編碼,到服務端時,又給它們 base64_
近日,需要滿足測試需求,進行大資料並發測試時,報出【HTTP 錯誤 500.0 - Internal Server Error E:\PHP\php-cgi.exe - FastCGI 進程超過了配置的活動逾時時限】解決辦法:IIS7->FastCGI設定->雙擊"php-cgi.exe"->"活動逾時" 項預設是設定為70(秒),改為600(10分鐘,此處根據需求設定可以略高~)
關於“PHP彩蛋”的說法也許很多老PHPer已經都知道或聽說了,好像是早在PHP4版本的時候就有彩蛋了,挺好玩兒的,可能近年來逐漸被人們遺忘了,其實彩蛋功能在PHP指令碼引擎預設情況下是開啟。寫個phpinfo();然後訪問,再加上以下的GET值即可查閱下面就用Discuz官方論壇做一下測試:http://www.discuz.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42http://www.discuz.net/?=PHPE9568F35-D428
原因:在程式中我對curl擷取內容都作了較為嚴格的逾時限制,所以就會造成無法擷取內容的問題。解決方案:設定預設訪問為ipv4。php的curl設定方法如下:複製代碼 代碼如下:/*** IPV6下curl逾時問題*/$ch = curl_init();curl_setopt ($ch, CURLOPT_URL, $url);curl_setopt ($ch, CURLOPT_RETURNTRANSFER,