《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
生活随笔
收集整理的這篇文章主要介紹了
《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
PHP100視頻教程1:環(huán)境配置與代碼調(diào)試
PHP100視頻教程2:PHP的數(shù)據(jù)類型與源碼調(diào)試
PHP100視頻教程3:常用PHP運算類型介紹與應(yīng)用
PHP100視頻教程4: PHP條件語句介紹與應(yīng)用
PHP100視頻教程5:PHP循環(huán)語句的介紹與應(yīng)用
PHP100視頻教程6:PHP數(shù)組的創(chuàng)建修改應(yīng)用
PHP100視頻教程7:PHP函數(shù)和自定義函數(shù)
PHP100視頻教程8:Mysql 簡介和創(chuàng)建新的數(shù)據(jù)庫
PHP100視頻教程9:數(shù)據(jù)庫中的常用SQL語句
PHP100視頻教程10:MYSQL在PHP5中的應(yīng)用
PHP100視頻教程11:學習制作PHP+MYSQL留言板(上)
PHP100視頻教程12:學習制作PHP+MYSQL留言板(下)
PHP100視頻教程13:PHP+MYSQL分頁原理
PHP100視頻教程14:PHP上傳原理及應(yīng)用
PHP100視頻教程15:PHP生成HTML文件原理
PHP100視頻教程16:PHP小偷程序原理和實例
PHP100視頻教程17:PHP面向?qū)ο箝_發(fā)的學習(一)
PHP100視頻教程18:PHP面向?qū)ο箝_發(fā)的學習(二)
PHP100視頻教程19:PHP面向?qū)ο箝_發(fā)的學習(三)
PHP100視頻教程20:PHP面向?qū)ο箝_發(fā)的學習(四)
PHP100視頻教程21:PHP面向?qū)ο箝_發(fā)的學習(五)
PHP100視頻教程22:PHP面向?qū)ο箝_發(fā)的學習(六)
PHP100視頻教程23:PHP面向?qū)ο箝_發(fā)的學習(七)
PHP100視頻教程24:PHP面向?qū)ο箝_發(fā)的學習(八)
PHP100視頻教程25:PHP面向?qū)ο箝_發(fā)的學習(九)
事務(wù)處理:
?? a.保證數(shù)據(jù)完整性,例如添加和修改同時,兩者成立則都執(zhí)行,一者失敗都失敗
?? mysql_query("BEGIN");
?? mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";
?? mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");
?? mysql_query("COMMIT");
鎖定表,優(yōu)化事務(wù)處理:
?? a.我們用一個 SELECT 語句取出初始數(shù)據(jù),通過一些計算,用 UPDATE 語句將新值更新到表中。
???? 包含有 WRITE 關(guān)鍵字的 LOCK TABLE 語句可以保證在 UNLOCK TABLES 命令被執(zhí)行之前,
???? 不會有其它的訪問來對 inventory 進行插入、更新或者刪除的操作
?? mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");
?? mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);
?? mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);
?? mysql_query("UNLOCK TABLES");
使用外鍵,優(yōu)化鎖定表
?? a.把customerinfo里的customerid映射到orderinfo里的customerid,
???? 任何一條沒有合法的customerid的記錄不會寫到orderinfo里
?? CREATE TABLE customerinfo
?? (
???? customerid INT NOT NULL,
???? PRIMARY KEY(customerid) ?
?? )TYPE = INNODB;
?? CREATE TABLE orderinfo
?? (
???? orderid INT NOT NULL,
???? customerid INT NOT NULL,
???? PRIMARY KEY(customerid,orderid),
???? FOREIGN KEY (customerid) REFERENCES customerinfo
???? (customerid) ON DELETE CASCADE? ?
?? )TYPE = INNODB;
?? 注意:'ON DELETE CASCADE',該參數(shù)保證當customerinfo表中的一條記錄刪除的話同時也會刪除order
???????? 表中的該用戶的所有記錄,注意使用外鍵要定義事務(wù)安全類型為INNODB;
?(普通索引)->
?? 創(chuàng)建:CREATE INDEX <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
?? 創(chuàng)表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
?? (唯一索引)->
?? 創(chuàng)建:CREATE UNIQUE <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
?? 創(chuàng)表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
?? (主鍵)->
?? 它是唯一索引,一般在創(chuàng)建表是建立,格式為:
?? CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])
this是指向當前對象的指針;
self是指向當前類的指針? 指向類本身,也就是說self不指向任何已經(jīng)實例化的對象。一般用來指向類中的靜態(tài)變量
::域運算符
parent是指向父類的指針
(第13講) PHP+MYSQL分頁原理
1、SQL語句中的limit用法
2、學習分頁的一種公式
3、parse_url()解析URL函數(shù)
4、$_SERVER["REQUEST_URI"]
$_GET[]:獲取通過地址欄提交的值
$_POST[]:獲取通過表單提交的值
$_SESSION[]:獲取保存SESSION的值
————————————————————————————————————
(第14講) PHP上傳原理及應(yīng)用
1、FORM標簽enctype屬性
2、$_FILES 系統(tǒng)函數(shù)
3、move_uploaded_file函數(shù)
4、is_uploaded_file 函數(shù)? 判斷上傳MIME類型的文件函數(shù)
表單中enctype="multipart/form-data"的意思,是設(shè)置表單的MIME編碼。默認情況,
這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;
只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù)
$_FILES
$_FILES['myFile']['name']?? 客戶端文件的原名稱。
$_FILES['myFile']['type']?? 文件的 MIME 類型,例如"image/gif"。
$_FILES['myFile']['size']?? 已上傳文件的大小,單位為字節(jié)。
$_FILES['myFile']['tmp_name']?? 儲存的臨時文件名,一般是系統(tǒng)默認。
$_FILES['myFile']['error']?? 該文件上傳相關(guān)的錯誤代碼。
————————————————————————————————————
error:
0; 文件上傳成功。
1; 超過了文件大小php.ini中。
2;?? 超過了文件大小
????? MAX_FILE_SIZE 選項指定的值。
3; 文件只有部分被上傳。
4; 沒有文件被上傳。
5; 上傳文件大小為0。
————————————————————————————————————
(第15講) PHP生成HTML文件原理
1、PHP部分文件操作函數(shù)
( fopen ,fread ,filesize,fwrite,fclose )
2、unlink()? 刪除成功 true
? rmdir() 刪除函數(shù)
————————————————————————————————————
(第16講) PHP小偷程序原理和實例
1、初識正則表達式??? 用于描述字符排列和匹配模式的一種語法規(guī)則。它主要用于字符串的模式分割
、匹配、查找及替換操作。
2、正則表達式函數(shù) ereg() eregi()
3、file_get_contents 讀取整個文件函數(shù)
4、寫一個天氣預報小偷的程序
————————————————————————————————————
(第17講) PHP面向?qū)ο箝_發(fā)的學習(一)
、什么是面向?qū)ο?#xff0c;什么是類
2、使用CLASS創(chuàng)建一個類
3、類的成員屬性和成員方法
4、使用new函數(shù)對象實例化
==========================================================================
(第24講) PHP面向?qū)ο箝_發(fā)的學習(八)
1、多態(tài)的介紹與優(yōu)勢
? 多態(tài)性是繼抽象和繼承后,面向?qū)ο笳Z言的第三個特征。從字面上理解,多態(tài)的意思是“多種形態(tài)”,簡單來說,多態(tài)是具有表現(xiàn)多種形態(tài)的能力的特征,在OO中是指“語言具有根據(jù)對象的類型以不同方式處理。
2、運算符 :instanceof
? instanceof 用來測定一個給定的對象是否來自指定的對象類。
3、多態(tài)的簡單應(yīng)用
==========================================================================
(第25講) PHP面向?qū)ο箝_發(fā)的學習(九)
1、PHP對象描述的配置
?? 方法名 __tostring()? 我們可以直接打印對象句柄,從而獲得該方法的基本信息或其他內(nèi)容。
2、對象方法的異常處理
?? 方法名 __call($funname,$arr_value)
?? 調(diào)用一些不存在的對象方法的異常處理,使程序繼續(xù)正常運行。
?? 因為參數(shù)會有多個所要
?? 用數(shù)組的方式保存,打印
?? 的時候也要就用print_r 輸出
?
3、克隆對象的應(yīng)用
? 方法名 __clone() ?
通過克隆的方式我們可以在內(nèi)存中生成兩個一樣的對象或升級原對象。
賦值:? 內(nèi)存中只有一個對象
克隆:? 內(nèi)存中有2個對象
__destruct()清理內(nèi)存
4、自動載入對象的方法
? 方法名 __autoload()
? 快速取得對象名稱并自動載入進當前頁面
==========================================================================
-------------------------------------------------------------------------------
PHP100視頻教程26:制作自己的PHP+MYSQL的類
-------------------------------------------------------------------------------
1、鞏固學習常用MYSQL函數(shù)
2、使用類封裝常用SQL操作,簡化代碼
3、認識面向?qū)ο笤陂_發(fā)中的重要作用
1、private 私有屬性關(guān)鍵字
2、__construct 初始化方法名
3、常用mysql函數(shù)
4、常用SQL語句
-------------------------------------------------------------------------------
PHP100視頻教程27:PHP模板引擎Smarty入門使用
-------------------------------------------------------------------------------
PHP100視頻教程28:PHP模板引擎Smarty的變量操作符
-------------------------------------------------------------------------------
?????? a? 什么是Smarty變量操作符
?????????? php模板引擎smarty內(nèi)置的一些操作函數(shù),我們稱之為變量操作符,變量操作符
?????????? 可用于操作變量,自定義函數(shù)和字符。(跟我PHP中常用的PHP內(nèi)部函數(shù)類似
?????????? 他可以幫助我們完成很多比較實用的功能,如:首字母大寫,拆分,替換,截取…
?????????? 更像是我們提前寫好的一些PHP常用類...
?????? b? 如何使用Smarty變量操作符
????????? 語法中使用"|"應(yīng)用變量操作符,多個參數(shù)用":" 分隔開來
?????????? {$name|truncate:10:"..."}? 截取前十個字符 多則用...代替
??????????? capitalize [首字母大寫]
?????????? count_characters [計算字符數(shù)]
?????????? cat [連接字符串]
?????????? count_paragraphs [計算段落數(shù)]
?????????? count_sentences [計算句數(shù)]
?????????? count_words [計算詞數(shù)]
?????????? date_format [時間格式]
??????????? efault [默認]
??????????? escape [轉(zhuǎn)碼]
??????????? indent[縮進]
??????????? lower[小寫 ]
??????????? nl2br[換行符替換成<br />]
??????????? regex_replace[正則替換]
??????????? replace[替換]
??????????? spacify[插空]
??????????? string_format[字符串格式化]
??????????? strip[去除(多余空格)]
??????????? strip_tags[去除html標簽]
???????????? truncate[截取]
???????????? upper[大寫]
???????????? wordwrap[行寬約束]
?????? c??? 常用的20個變量操作符
-----------------------------------------------------------------------------------????????? ?
PHP100視頻教程29:PHP模板引擎Smarty內(nèi)置函數(shù)
PHP100視頻教程30:PHP模板引擎Smarty緩存應(yīng)用
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
PHP100視頻教程31:PHP在線編輯器fckeditor應(yīng)用
-----------------------------------------------------------------------------------
在線排版,方便用戶和編輯操作,圖片,文字,視頻等功能生成對應(yīng)的
HTM代碼的編輯器,fckeditor 是其中一個做的比較好的一類編輯器
$sBasePath = $_SERVER['PHP_SELF'] ;
$sBasePath = dirname($sBasePath).'/';
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath?? = $sBasePath ;
dirname ,取得路徑目錄命的函數(shù)
$oFCKeditor->Create();? 創(chuàng)建一個窗口出來
$oFCKeditor->Value='初始值';
-----------------------------------------------------------------------------------
PHP100視頻教程32:PHP5中Cookie與 Session詳解
PHP100視頻教程33:PHP5中圖片驗證碼的制作(上)
PHP100視頻教程34:PHP5中圖片中文驗證碼(下)
PHP100視頻教程35:PHP5文字圖片混合水印與縮略圖
PHP100視頻教程36:PHP中正則表達式學習及應(yīng)用(一)
-----------------------------------------------------------------------------------
①a-z A-Z _ 0-9? //最常見的字符
②(abc) (skd)? //用圓括號包含起來的單元符合
③[abcs] [^abd] //用方括號包含的原子表,原子表中的^代表排除或相反內(nèi)容
④轉(zhuǎn)義字符
? \d? 包含所有數(shù)字[0-9]
? \D? 除所有數(shù)字外[^0-9]
? \w? 包含所有英文字符[a-zA-Z_0-9]
? \W? 除所有英文字符外[^a-zA-Z_0-9] ?
? \s?? 包含空白區(qū)域如回車、換行、分頁等 [\f\n\r]
……
兩種正則使用的區(qū)別
preg('#abc#','adbjdjkdjfkdsajfdsakjf',#arr)
preg('/abc/','adbjdjkdjfkdsajfdsakjf',#arr)
ereg('abc','adbjdjkdjfkdsajfdsakjf',#arr)
()括號括起來表示整體匹配
?[] 方括號匹配其中任意的
\\? 兩個反斜杠 代表前面括號里面輸入什么,后面括號里就輸入什么。
就是調(diào)用第一個小括號中里面的內(nèi)容,//2就是第二個小括號的,以此類推。。。
-----------------------------------------------------------------------------------
PHP100視頻教程37:PHP中正則表達式學習及應(yīng)用(二)
PHP100視頻教程38:PHP中正則表達式學習及應(yīng)用(三)
——————————————————————————————————正則表達式中的“模式修正符”
?1、運算順序? ?
依然遵循從左到→右的運算規(guī)則
( )? 圓括號因為是內(nèi)存處理所以最高
* ? +? { } 重復匹配內(nèi)容其次
^ $ \b 邊界處理第三
|? 條件處理第四
最后按照運算順序計算匹配
?2、模式修正符
模式修正符是為正則表達式增強和補充的一個功能,使用在正則之外
/ 正則 / U? ?
i 正則內(nèi)容在匹配時候不區(qū)分大小寫(默認是區(qū)分的)
m 在匹配首內(nèi)容或者尾內(nèi)容時候采用多行識別匹配
S 將轉(zhuǎn)義回車取消是為單行匹配如. 匹配的時候
x 忽略正則中的空白
A 強制從頭開始匹配
D 強制$匹配尾部無任何內(nèi)容 \n
U 禁止貪婪匹配 只跟蹤到最近的一個匹配符并結(jié)束,
??? 常用在采集程序上的正則表達式
/n? 就是回車
——————————————————————————————————
PHP100視頻教程39:PHP中正則表達式學習及應(yīng)用(四)
PHP100視頻教程40:PHP中開發(fā)自己的-UBB代碼
PHP100視頻教程41:PHP站內(nèi)搜索、多關(guān)鍵字、加亮顯示
PHP100視頻教程42:PHP通過mail()或Socket發(fā)郵件
PHP100視頻教程43:PHP中MVC學習之ThinkPHP(上)
PHP100視頻教程44:PHP中MVC學習之ThinkPHP(下)
PHP100視頻教程45:如何用PHP開發(fā)一個完整的網(wǎng)站
PHP100視頻教程46:PHPMyAdmin功能操作詳解
PHP100視頻教程47:PHP輸出CSV和EXCEL兩種簡單的方法
PHP100視頻教程48:Ajax+PHP快速上手及應(yīng)用
——————————————————————————————————
xmlHttp = new XMLHttpRequest();
這對于規(guī)范的Js支持的瀏覽器來講是沒錯的
恰恰相反IE卻就不支持,所以沒辦法我們只能
做個判斷再創(chuàng)建一個IE支持的
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
——————————————————————————————————
PHP100視頻教程49: Ajax+PHP打造等待進度條效果(二)
——————————————————————————————————
——————————————————————————————————
PHP100視頻教程50: Ajax+PHP檢查用戶名或郵件(三)
PHP100視頻教程51:PHP+MYSQL會員系統(tǒng)的開發(fā)(上)
——————————————————————————————————————————————————
1、學會使用常量提高md5安全性
2、Cookie/ Session 少用明文信息
3、Session安全性要大于Cookie
4、使用Cookie/ Session讀取信息
????? 盡量增加判斷信息
5、Cookie/ Session內(nèi)容要精簡
6、對于錯誤信息及時銷毀Cookie/ Session
——————————————————————————————————————————————————
PHP100視頻教程52:PHP+MYSQL會員系統(tǒng)的開發(fā)(下)
——————————————————————————————————————————————————————————————————————————————————————————————————無交叉,實現(xiàn)順序權(quán)限控制,可實現(xiàn)多層,也就是上一層
永遠大于下一層的權(quán)限,常用在留言板,CMS、后臺
論壇等程序當中,不適合在ERP,OA等類型系統(tǒng)中使用
設(shè)置技巧:
?? 為了實現(xiàn)權(quán)限的無限層級配置,最高層應(yīng)使用最小值來
做權(quán)限標志位,方便下行可用無線累計的空間
——————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程53:PHP如何防止注入及開發(fā)安全
——————————————————————————————————————————————————————————————
1、PHP注入的基本原理
? 程序員的水平及經(jīng)驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對
用戶輸入數(shù)據(jù)的合法性進行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)
庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的
SQL Injection,即SQL注入。 受影響的系統(tǒng):對輸入的參數(shù)不進行檢查和過濾的系統(tǒng)
2、防止注入的幾種辦法
function inject_check($sql_str) {
?? return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str);???? // 進行過濾
}
Addslashes(需要被過濾的內(nèi)容)
3、PHP其他地方安全設(shè)置
——————————————————————————————————————————————————————
PHP100視頻教程54:Apache Rewrite 擬靜態(tài)配置
———————————————————————————————————————————————————————————————
1、mod_rewrite 簡介和配置
Rewirte主要的功能就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
Apache配置:
支持httpd.conf 配置和目錄 .htaccess配置
啟用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so
去除前面的 #
LoadModule rewrite_module modules/mod_rewrite.so
然后重啟apache
啟用.htaccess
AllowOverride None??? 修改為: AllowOverride All
2、mod_rewrite 規(guī)則的使用
RewriteEngine on??? 啟動rewrite引擎,所有的rewrite之前必須啟用這一句
RewriteCond %{HTTP_HOST} !^www.php100.com [NC]?? 地址重寫? !不等于 ^最開始? [NC] 規(guī)則修正符,不區(qū)分大小寫
RewriteRule ^/(.*) http://www.php100.com/ [L]?? rewrite 規(guī)范
--------
RewriteEngine on ?
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1 ?
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
?
3、mod_rewrite 規(guī)則修正符
1) R 強制外部重定向??? -- 跳轉(zhuǎn)到真實地址
2) F 禁用URL,返回403HTTP狀態(tài)碼。? -- HTTP的一個協(xié)議403
3) G 強制URL為GONE,返回410HTTP狀態(tài)碼。?? -- HTTP返回錯誤頭,這個頁面永久消失
4) P 強制使用代理轉(zhuǎn)發(fā)。
5) L 表明當前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。? --停止分析以后的規(guī)則
6) N 重新從第一條規(guī)則開始運行重寫過程。
7) C 與下一條規(guī)則關(guān)聯(lián)8) T=MIME-type(force MIME type) 強制MIME類型
8)T
9) NS? 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符?? \%3d$1? 等價于 =$1
(.*)? 代表任何格式
支持.htaccess
配置?? AllowOverride all
Options? all 可以改為all
————————————————————————————————————————————————————————————————
PHP100視頻教程55:PHP5中使用PDO連接數(shù)據(jù)庫
——————————————————————————————————————————————————————————————
1、PDO? 簡介 和 配置
PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個重大功能,因為在PHP 5以前的
php4/php3都是一堆的數(shù)據(jù)庫擴展來跟各個數(shù)據(jù)庫的連接和處理,什么 php_mysql.dll、php_pgsql.dll、
php_mssql.dll、php_sqlite.dll等等
PHP6中也將默認使用PDO的方式連接,mysql擴展將被作為輔助
兩個冒號(::)是對類中的方法的靜態(tài)引用
也就是不需要實例化對象,直接通過類名對類中的方法進行引用
2、PDO? 如何連接 MYSQL
new PDO(“連接信息”, 'root', '', array(PDO::ATTR_PERSISTENT => true));
3、PDO 常用方法及其使用
PDO::query() 主要是用于有記錄結(jié)果返回的操作,特別是SELECT操作
PDO::exec() 主要是針對沒有結(jié)果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID
PDOStatement::fetch() 是用來獲取一條記錄 ?
PDOStatement::fetchAll() 是獲取所有記錄集到一個中 ?
——————————————————————————————————————————————————————————————
PHP100視頻教程56:制作PHP安裝程序的原理和步驟
——————————————————————————————————————————————————————————————————————————————————————————————————1、制作PHP安裝程序的原理和步驟
2、制作安裝用到的PHP函數(shù)
3、制作安裝的注意事項
? is_writable() 檢查文件是否可寫,用來判斷文件權(quán)限, 同類函數(shù)還有is_readable() 檢查文件是否可讀,返回布爾值
? is_writable() 檢查文件是否可寫,用來判斷文件權(quán)限, 同類函數(shù)還有is_readable() 檢查文件是否可讀,返回布爾值 ?
?fopen () 文件操作函數(shù),打開一個文件或新建 fwrite () 文件操作函數(shù),寫入內(nèi)容到文件 rename() 文件操作函數(shù),給文件改名
————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程57:PHP備份數(shù)據(jù)庫原理和方法
——————————————————————————————————————————————————————————————————————————————————————————————————
1、PHP備份數(shù)據(jù)庫的原理
2、PHP中mysql相關(guān)函數(shù)
3、備份時候的注意事項
mysql_list_tables() 表查詢函數(shù),類似mysql_query() 函數(shù)
mysql_fetch_field() 字段信息函數(shù),返回句柄
Name 字段的名稱
Table 字段所屬數(shù)據(jù)表的名稱
Type 字段的類型
max_length 字段的最大長度
not_null 字段是否不能為空,是,則這一項的值為1
primary_key 字段是否為主鍵,是,則這一項的值為1
unique_key 字段是否為unique鍵,是,則這一項的值為1
multiple_key 字段是否不為unique鍵,是,則這一項的值為1
Numeric 字段是否為數(shù)字型,是,則這一項的值為1
Blob 字段是否為blob型,是,則這一項的值為1
Unsigned 數(shù)字型的字段是否為unsigned的,是,則這一項的值為1
Zerofill 數(shù)字型的字段是否為zerofilled的,是,則這一項的值為1
備份數(shù)據(jù)庫主要備份 數(shù)據(jù)庫結(jié)構(gòu)和? 數(shù)據(jù)庫數(shù)據(jù)。
1、注意數(shù)據(jù)庫的大小,過大或者過多的表分段處理
2、生成的SQL文件名或者存放不易被猜到
3、備份生成文件可以表或者自動為單位保存
4、可以使用ZIP組件壓縮生成的文件以便保持
——————————————————————————————————————————————————————————————
PHP100視頻教程58:快速設(shè)計一個企業(yè)網(wǎng)站之BIWEB
——————————————————————————————————————————————————————————————
1、企業(yè)網(wǎng)站都有哪些基本功能
2、如何寫企業(yè)網(wǎng)站評估報告
3、神奇的BIWEB積木式建站系統(tǒng)
——————————————————————————————————————————————————————————————
PHP100視頻教程59:關(guān)于BIWEB常見問題和結(jié)構(gòu)分析
PHP100視頻教程60:PHP與數(shù)據(jù)庫代碼開發(fā)規(guī)范
PHP100視頻教程61:PHP+Mysql新聞系統(tǒng)的開發(fā)一
——————————————————————————————————————————————————————————————
1、設(shè)計新聞系統(tǒng)簡單的UML模
UML設(shè)計工具 powerdesigner? diagramdesigner
2、設(shè)計所需的環(huán)境、模塊、模板樣式
3、數(shù)據(jù)庫UML設(shè)計和創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)
——————————————————————————————————————————————————————————————
PHP100視頻教程62:PHP+Mysql新聞系統(tǒng)的開發(fā)二
——————————————————————————————————————————————————————————————
1、建立底層結(jié)構(gòu)和文件夾
?? 構(gòu)建文件夾結(jié)構(gòu),萬能擴展結(jié)構(gòu)? 相互連接文件和配置
2、連接相關(guān)類和配置數(shù)據(jù)庫
3、調(diào)試后臺和登錄功能
————————————————————————————————————————————————————————
PHP100視頻教程63:PHP+Mysql新聞系統(tǒng)的開發(fā)三(上)
————————————————————————————————————————————————————————
————————————————————————————————————————————————————————
PHP100視頻教程64:PHP+Mysql新聞系統(tǒng)的開發(fā)四
PHP100視頻教程65:PHP+Mysql新聞系統(tǒng)的開發(fā)五
PHP100視頻教程66:PHP+Mysql新聞系統(tǒng)的開發(fā)六
PHP100視頻教程67:PHP+Mysql新聞系統(tǒng)的開發(fā)七
——————————————————————————————————————————————————————————
注意事項:
???? 1、配置模板圖片,Css路徑
???? 2、盡可能的將變量寫入數(shù)組
???? 3、模板文件名盡可能的與PHP文件相關(guān)
???? 4、為了方便使用書寫通用調(diào)用方法,將header.php? footer.php獨立出來
——————————————————————————————————————————————————————————
PHP100視頻教程68:PHP+Mysql新聞系統(tǒng)的開發(fā)八
PHP100視頻教程69:PHP+Mysql新聞系統(tǒng)的開發(fā)九
PHP100視頻教程70:PHP 5.3.1 + Apache + Mysql配置
————————————————————————————————————————————————————————
Apache
? LoadModule php5_module? C:/WAMP/PHP/php5apache2_2.dll
? PHPIiniDir "C:/WAMP/PHP5.3.1"? 默認去C盤查找
? AddType? application/x-httpd-php? .php? .phtml
PHP配置文件PHP.ini
php.ini-development、? php.ini-production? 修改為php.ini
?extension_dir ?
————————————————————————————————————————————————————————
PHP100視頻教程71:PHP SQLite 的使用和配置
————————————————————————————————————————————————————————ACID 數(shù)據(jù)庫事務(wù)標準? SQLite 輕型的數(shù)據(jù)庫
PHP+SQLite——>ASP+Access
SQLite的數(shù)據(jù)庫是個獨立的文件,和程序一樣保持在web目錄下即可。
1、PHP 中 SQLite 簡介 和 特點
特點:
??? 1、SQLite數(shù)據(jù)庫足夠小, 大致3萬行C代碼, 共計250K左右
??? 2、配置簡單,支持各類平臺:Windows/Linux/Unix/MAC
??? 3、最大的數(shù)據(jù)庫支持2T???? ------- 1T = 1024G
??? 4、SQLite支持無數(shù)據(jù)庫類型 (為提高效率不建議)
??? 5、SQLite完全開源,懂得C的朋友可以下載源碼完善它
2、在PHP中如何開啟使用 SQLite
在PHP 5.1.x 以后自帶了 SQLtie 數(shù)據(jù)庫功能,只需要在配置中開啟即可
PHP.ini
?
;extension=php_sqlite.dll
在PHP 5.2.x 以后自帶了 SQLtie PDO數(shù)據(jù)庫功能,只需要在配置中開啟即可
PHP.ini
?
;extension=php_pdo_sqlite.dll
3、創(chuàng)建SQLite 數(shù)據(jù)庫的兩種方法
使用PHP函數(shù)直接開啟建立
通過SQLiteManager來創(chuàng)建管理 SQLite 數(shù)據(jù)庫文件
4、SQLiteManager 簡單實用和配置
————————————————————————————————————————————————————
PHP100視頻教程72:PHP+SQLite 常用函數(shù)及應(yīng)用
——————————————————————————————————————————————————————————
sqlite_open(數(shù)據(jù)庫名,模式,錯誤信息)? 數(shù)據(jù)庫名 有則連接,無則自動建立;模式 對數(shù)據(jù)庫操作的讀寫模式默認0666? 返回數(shù)據(jù)庫錯誤信息
sqlite_query(數(shù)據(jù)庫連接參數(shù),SQL參數(shù))
sqlite_num_rows(SQL返回句柄)
sqlite_last_insert_rowid(數(shù)據(jù)庫連接參數(shù))
sqlite_fetch_array(SQL返回句柄,返回索引)
返回索引:
SQLITE_ASSOC 只會返回關(guān)聯(lián)索引(有名稱字段)而
SQLITE_NUM 只會返回數(shù)字索引(有序字段數(shù))。
SQLITE_BOTH 會同時返回關(guān)聯(lián)和數(shù)字索引。
SQLITE_BOTH 是本函數(shù)的默認值
?
——————————————————————————————————————————————————————————
PHP100視頻教程73:PHP MemCached高級緩存配置
——————————————————————————————————————————————————————————————
memcached.exe? -d? install
memcached.exe? -d? start
telnet?? 11211
exit
quit
——————————————————————————————————————————————————————————————
PHP100視頻教程74:PHP MemCached 高級緩存應(yīng)用
——————————————————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程75:Zend framework 配置與調(diào)試
————————————————————————————————————————————————————————
——————————————————————————————————————————|
ZF? 需要5.2.0以上才可以運作
PDO
rewrite
基于MVC
有豐富和開源的組件
application?? MVC文件夾
?? controllers? 控制文件夾
?? models?????? 模塊文件夾
?? views?? 模板文件夾
library
?? zend?? zend文件夾
public??? 公共配置文件夾
?
缺點:配置復雜,門檻較高,OOP,MVC? ?
————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程76:Zend framework 數(shù)據(jù)庫操之讀取與插入
PHP100視頻教程77:Zend framework數(shù)據(jù)庫操作之編輯和視圖函數(shù)
PHP100視頻教程78:PHP+Flash多文件異步上傳 swfupload
————————————————————————————————————————————————————————
1、 多文件選取異步上傳的原理
2、 swfupload 介紹 和 相關(guān)使用 3、實例操作和實現(xiàn)數(shù)據(jù)庫插入
3、實例操作和實現(xiàn)數(shù)據(jù)庫插入
getcwd()? 獲取絕對路徑。
move_uploaded_file
————————————————————————————————————————————————————————
PHP100視頻教程79:PHP上傳RAR壓縮包并解壓目錄
————————————————————————————————————————————————————————system() 輸出并返回最后一行shell結(jié)果。 exec() 不輸出結(jié)果,返回最后一行shell結(jié)果 passthru() 只調(diào)用命令,把運行結(jié)果原樣地輸出 new com()? 系統(tǒng)預定義com類,根據(jù)需要任意選擇內(nèi)置方法?? ?
相同點:都可以獲得命令執(zhí)行的狀態(tài)碼
$obj=new com("wscript.shell");
?? $obj->run(“所要執(zhí)行的命令內(nèi)容”);
———————————————————————————————————————————————————————
PHP100視頻教程80:ADODB PHP 數(shù)據(jù)庫萬能引擎類(上)
————————————————————————————————————————————————————————
ADODB 是一種兼容的各類數(shù)據(jù)庫應(yīng)用程序接口(API),支持的數(shù)據(jù)庫種類非常地多,
例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro,
Access, ADO, Sybase, DB2 以及一般的 ODBC
特點:
1、ADODB 在PHP中規(guī)范各類數(shù)據(jù)庫的鏈接和使用
2、ADODB 幫助我們在PHP提供開發(fā)效率和快速轉(zhuǎn)換各類數(shù)據(jù)庫
3、ADODB 使用相對簡單,容易上手
4、ADODB 寫作要求有時要求比較嚴謹,注意大小寫。
5、ADODB 內(nèi)置函數(shù)比較豐富可以快速和自動的幫助我們完成一些比較復雜的工作
————————————————————————————————————————————————————————
PHP100視頻教程81:ADODB PHP 數(shù)據(jù)庫萬能引擎類(下)
——————————————————————————————————————————————————————————————
1、 PHP ADODB 地址方式連接數(shù)據(jù)庫
$db = NewADOConnection('mysql://root:pwd@localhost/upload');
$sql="SELECT * FROM `pic`";
echo $db->SetFetchMode(ADODB_FETCH_NUM);
$sr1 = $db->Execute($sql);
?print_r($sr1->fields);
2、 PHP ADODB 對象方式獲取數(shù)據(jù)庫內(nèi)容
?? $db = NewADOConnection('mysql');
?? $db->PConnect("localhost", "root", "", "upload");
?? $sql="SELECT * FROM `pic`";
?? $rs2=$db->Execute($sql);
? while($row=$rs2->FetchNextObject()){
??? print_r($row);
? }
3、 PHP ADODB HTML代碼方式顯示內(nèi)容
?? include_once("adodb5/tohtml.inc.php");
?? $db = NewADOConnection('mysql');
?? $db->Connect("localhost", "root", "", "upload");
?? $sql="SELECT * FROM `pic`";
?? $rs2=$db->Execute($sql);
?? echo rs2html($rs2);
4、 PHP ADODB 實現(xiàn)內(nèi)容自動分頁功能
include_once("adodb5/adodb-pager.inc.php");
session_start();
$db = NewADOConnection('mysql');
$db->Connect("localhost", "root", "", "upload");
?????? $sql="SELECT * FROM `pic`";
?????? $pager=new ADODB_Pager($db,$sql);
?????? $pager->Render(3);
——————————————————————————————————————————————————————————————
PHP100視頻教程82: PHP開發(fā)通用采集入庫程序
——————————————————————————————————————————————————————————————————————————————
file_get_contents() 遠程文件獲取函數(shù),用來獲取遠程頁面內(nèi)容
preg_match_all()進行全局正則表達式匹配 用于匹配列表
preg_match?? ()進行正則表達式匹配 用于匹配終端
preg_replace ()進行正則表達式替換 用于過濾終端
復習正則表達式 、 正則修正符用法。
##? //? 開始和結(jié)束標志
——————————————————————————————————————————————————————————————————————————————
PHP100視頻教程83: PHP開發(fā)通用采集入庫程序二
PHP100視頻教程84:PHP開發(fā)通用采集入庫程序三
PHP100視頻教程85:PHP 圖表類 JPGraph 入門配置與應(yīng)用
PHP100視頻教程86:PHP JPGraph 中文字體和背景設(shè)置
PHP100視頻教程87:PHP 之 CURL 傳輸與獲取功能
——————————————————————————————————————————————————————————————————————————————
1、什么是CURL且能實現(xiàn)什么功能?
curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協(xié)議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, HTTP上傳, 代理服務(wù)器, cookies, 用戶名/密碼認證, 下載文件斷點續(xù)傳等等,功能十分強大。
PHP中常用都實現(xiàn)那些功能:
?? 1、實現(xiàn)遠程獲取和采集內(nèi)容
?? 2、實現(xiàn)PHP 網(wǎng)頁版的FTP上傳下載
?? 3、實現(xiàn)模擬登陸
?? 4、實現(xiàn)接口對接(API),數(shù)據(jù)傳輸?shù)?
?? 5、實現(xiàn)模擬Cookie等
?2、PHP 如何使用CURL功能
默認情況下PHP是不支持CURL功能的,需要在PHP.ini中開啟該功能
1? 整個操作過程中第一步是用cur_init()函數(shù)進行初始化
?? $curl = curl_init(‘www.php100.com’); 2? 然后,用curl_setopt()函數(shù)進行設(shè)置選項。 3? 設(shè)置后,進行執(zhí)行事務(wù) curl_exec($curl); 4? 最后關(guān)閉curl_close();
$curl = curl_init(); //初始化一個 cURL 對象
curl_setopt($curl, CURLOPT_URL, "http://www.php100.com");
//設(shè)置你需要抓取的URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。
$data = curl_exec($curl); //運行cURL,請求網(wǎng)頁
curl_close($curl); //關(guān)閉URL請求
?3、使用PHP CURL實現(xiàn)傳輸和獲取功能
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
——————————————————————————————————————————————————————————————————————————————
PHP100視頻教程88:PHP 之 CURL模擬登陸并獲取數(shù)據(jù)
PHP100視頻教程89:PHP XML 的 DOMDocument 讀取功能
PHP100視頻教程90:PHP DOM 創(chuàng)建生成多功能 XML文件
PHP100視頻教程91:PHP修改和刪除XML內(nèi)容的原理和方法
——————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程92:在線支付接口之PHP支付寶接口開發(fā)
————————————————————————————————————————
1、什么是支付接口
? 支付接口一般是第三方提供的代收款/付款的平臺,可以通過支付接口幫助企業(yè) 或個人利用一切可以使用的支付方式(手機、銀行卡、會員卡等)產(chǎn)生交易。 常見支付平臺:支付寶、塊錢、云網(wǎng)支付、貝寶、財付通(QQ)等
2、實現(xiàn)在線支付接口的原理和流程
3、學習支付寶接口及時到賬開發(fā)和配置
————————————————————————————————————————
PHP100視頻教程93:在線支付接口之PHP云網(wǎng)接口開發(fā)
PHP100視頻教程94:SVN (Subversion) 配置與安裝調(diào)試
———————————————————————————————————————
anon-access=read? 匿名用戶可以訪問,前面不要有空格
密碼設(shè)置為明文? username=password的格式
authz權(quán)限設(shè)置中 adminss=harry,nash 逗號分隔的格式
adminss=rw? 賦予讀寫權(quán)限
啟動svn的命令
svnserve.exe? -d? -r? D:\svn
????????????? 安全模式 只讀
瀏覽? svn://127.0.0.1
————————————————————————————————————————————————————————————————————
PHP100視頻教程95:SVN (Subversion) 應(yīng)用與技巧
——————————————————————————————————
1、如何增加SVN到windows服務(wù)中并自動啟動
?? sc create svnserve binpath= "C:\...\bin\svnserve.exe --service --root D:\svn"
?? Sc delete svnserve
2、SVN 控制器的文件的鎖定和操作
3、SVN 查看歷史文件并對比差異內(nèi)容
4、SVN 處理更新過的新版本文件
5、SVN 導出內(nèi)容和文件方法和注意事項
——————————————————————————————————
PHP100視頻教程96:PHP程序員經(jīng)典面試&筆試題目解析(上)
PHP100視頻教程97:PHP程序員經(jīng)典面試&筆試題目解析(下)
PHP100視頻教程98:PHP會員權(quán)限交叉多類型的控制(上)
————————————————————————————————————————————————————
1、會員交叉權(quán)限控制實現(xiàn)的原理
在PHP中要判斷一個數(shù)在某些數(shù)范圍內(nèi)就可以使用 & 運算符。
& 是位運算,不是 && 邏輯運算 (位運算符:&? |? ^? ~)
例如:7=4|2|1 ? ===》?? $sy = 4|2|1
這里的或是指的可以能包含的內(nèi)容值,在位運算里其實可以簡單理解成 7=4+2+1,
用 & 來操作,可以知道7&4、7&2、7&1都是真的,而如果7&8則是假的。
我們還可以用^ 來從包含的值內(nèi)去除:如 $ny = $sy ^ 2 ?
這樣一來,$ny 只有 4|1 如果做判斷也就只有 $ny&4、$ny&1
2、利用PHP位運算二進制實現(xiàn)權(quán)限控制
常量設(shè)置成功后,不能被修改。
decbin()? 轉(zhuǎn)換為二進制
————————————————————————————————————————————————————
PHP100視頻教程99:PHP會員權(quán)限交叉多類型的控制(下)
———————————————————————————————————————
1、會員與會員組的關(guān)系
2、設(shè)計會員權(quán)限系統(tǒng)的結(jié)構(gòu)解析
array_sum($_POST[gr]);
———————————————————————————————————————
PHP100視頻教程100:PHP程序員的學習之路和未來職業(yè)規(guī)劃
PHP100視頻教程101:PHP5.3 Xdebug 調(diào)試器配置與應(yīng)用
————————————————————————————————————————————————
php.ini? zend_extension=D:\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll
PHP5.2為zend_extension_ts??? xdebug在PHP5.2和PHP5.3中有區(qū)別的。
請使用絕對路徑
phpino();?? 最下面底部會出現(xiàn)Xdebug的相關(guān)信息,說明沒有安裝成功,需要檢查路徑和下載的版本問題。
vc6 是apache中
vc9是iis中
同時注意是32位,還是64位
————————————————————————————————————————————————
PHP100視頻教程102:PHP5.3 Xdebug 錯誤分析與性能調(diào)試
PHP100視頻教程103:JQuery 之 Javascript 基礎(chǔ)(一)
PHP100視頻教程104:JQuery 之 Javascript 基礎(chǔ)(二)
PHP100視頻教程105:JQuery 之 Javascript 基礎(chǔ)(三)
PHP100視頻教程106:JQuery 之語法模式與開發(fā)基礎(chǔ)
PHP100視頻教程107:JQuery 之選擇器、事件器詳解
———————————————————————————————————————————————————————————Jquery選擇器的各種用法
$(this)?? ??? ??? ?當前元素
$("p")?? ??? ??? ?所有<p>元素
$("input")?? ??? ?所有input元素
$(".intro")?? ??? ?所有 class=“intro” 的元素
$("p.intro")?? ??? ?所有 class="intro" 的<p>元素
$("#intro")?? ??? ?id="intro" 的第一個元素
$("ul > li") ?? ??? ?ul下的所有l(wèi)i節(jié)點
$("ul li:first")?? ??? ?每個 <ul> 的第一個 <li> 元素
$("[href$='.jpg']")?? ?所有帶有以 ".jpg" 結(jié)尾的 href 屬性的屬性
$("div#intro .head")?? ?id="intro" 的 <div> 元素中的所有 class="head" 的元素
$(li[a:contains('Register')]")?? ??? ?內(nèi)容包含Register的<a>元素
$("input[@name=bar]")?? ??? ??? ?name是bar的<input>元素
$("input[@type=radio][@checked]")?? ?type是radio的<input>元素
$(“l(fā)i”).not(“ul”)?? ??? ??? ??? ?li下沒有包含ul節(jié)點的節(jié)點元素
$("span[@id]")?? ??? ??? ??? ?包含id屬性的<span>元素
$("[@id=span1]")?? ??? ??? ?id為span1的節(jié)點元素
$(元素). 事件( 事件屬性);
Jquery事件器的介紹
$(元素). 事件( 事件屬性);
$(selector).click()?? ??? ?被選元素的點擊事件
$(selector).dblclick()?? ??? ?被選元素的雙擊事件
$(selector).focus()?? ??? ?被選元素的獲得焦點事件
$(selector).mouseover()?? ??? ?被選元素的鼠標懸停事件
$(selector).css();?? ??? ?被選元素的CSS事件
$(selector). hide();?? ??? ?被選元素的隱藏事件
$(selector). show('slow');?? ??? ?被選元素的顯示事件
——————————————————————————————————————————————————
Dom節(jié)點操作
$(“a”).addClass(“red”) ??? ??? ?為所有<a>增加class=”red”
$(“a”).removeClass(“red”) ??? ?為所有<a>去掉class=”red”
$(“l(fā)i”).append(“BB!”) ??? ??? ?為<li>增加”BB!”innerHTML
——————————————————————————————————————————————————————————
執(zhí)行事件
————//hover是在執(zhí)行完第一個函數(shù)后再執(zhí)行第二個
$(“p”).hover(function(){ ?? ??? ?
? $(this).addClass("hover");
},function(){
? $(this).removeClass("hover");
});
//toggle第一次點擊執(zhí)行第一個函數(shù),再點擊執(zhí)行第二個
$(“p”).toggle(function(){?? ??? ?
$(this).addClass("selected");?? ?
},function(){
? $(this).removeClass("selected");
});
—————————————————————————————————————————————————
PHP100視頻教程108:JQuery之各類動畫效果的實現(xiàn)
PHP100視頻教程109:JQuery 之 Ajax 開發(fā)詳解
PHP100視頻教程2:PHP的數(shù)據(jù)類型與源碼調(diào)試
PHP100視頻教程3:常用PHP運算類型介紹與應(yīng)用
PHP100視頻教程4: PHP條件語句介紹與應(yīng)用
PHP100視頻教程5:PHP循環(huán)語句的介紹與應(yīng)用
PHP100視頻教程6:PHP數(shù)組的創(chuàng)建修改應(yīng)用
PHP100視頻教程7:PHP函數(shù)和自定義函數(shù)
PHP100視頻教程8:Mysql 簡介和創(chuàng)建新的數(shù)據(jù)庫
PHP100視頻教程9:數(shù)據(jù)庫中的常用SQL語句
PHP100視頻教程10:MYSQL在PHP5中的應(yīng)用
PHP100視頻教程11:學習制作PHP+MYSQL留言板(上)
PHP100視頻教程12:學習制作PHP+MYSQL留言板(下)
PHP100視頻教程13:PHP+MYSQL分頁原理
PHP100視頻教程14:PHP上傳原理及應(yīng)用
PHP100視頻教程15:PHP生成HTML文件原理
PHP100視頻教程16:PHP小偷程序原理和實例
PHP100視頻教程17:PHP面向?qū)ο箝_發(fā)的學習(一)
PHP100視頻教程18:PHP面向?qū)ο箝_發(fā)的學習(二)
PHP100視頻教程19:PHP面向?qū)ο箝_發(fā)的學習(三)
PHP100視頻教程20:PHP面向?qū)ο箝_發(fā)的學習(四)
PHP100視頻教程21:PHP面向?qū)ο箝_發(fā)的學習(五)
PHP100視頻教程22:PHP面向?qū)ο箝_發(fā)的學習(六)
PHP100視頻教程23:PHP面向?qū)ο箝_發(fā)的學習(七)
PHP100視頻教程24:PHP面向?qū)ο箝_發(fā)的學習(八)
PHP100視頻教程25:PHP面向?qū)ο箝_發(fā)的學習(九)
事務(wù)處理:
?? a.保證數(shù)據(jù)完整性,例如添加和修改同時,兩者成立則都執(zhí)行,一者失敗都失敗
?? mysql_query("BEGIN");
?? mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";
?? mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");
?? mysql_query("COMMIT");
鎖定表,優(yōu)化事務(wù)處理:
?? a.我們用一個 SELECT 語句取出初始數(shù)據(jù),通過一些計算,用 UPDATE 語句將新值更新到表中。
???? 包含有 WRITE 關(guān)鍵字的 LOCK TABLE 語句可以保證在 UNLOCK TABLES 命令被執(zhí)行之前,
???? 不會有其它的訪問來對 inventory 進行插入、更新或者刪除的操作
?? mysql_query("LOCK TABLE customerinfo READ, orderinfo WRITE");
?? mysql_query("SELECT customerid FROM `customerinfo` where id=".$id);
?? mysql_query("UPDATE `orderinfo` SET ordertitle='$title' where customerid=".$id);
?? mysql_query("UNLOCK TABLES");
使用外鍵,優(yōu)化鎖定表
?? a.把customerinfo里的customerid映射到orderinfo里的customerid,
???? 任何一條沒有合法的customerid的記錄不會寫到orderinfo里
?? CREATE TABLE customerinfo
?? (
???? customerid INT NOT NULL,
???? PRIMARY KEY(customerid) ?
?? )TYPE = INNODB;
?? CREATE TABLE orderinfo
?? (
???? orderid INT NOT NULL,
???? customerid INT NOT NULL,
???? PRIMARY KEY(customerid,orderid),
???? FOREIGN KEY (customerid) REFERENCES customerinfo
???? (customerid) ON DELETE CASCADE? ?
?? )TYPE = INNODB;
?? 注意:'ON DELETE CASCADE',該參數(shù)保證當customerinfo表中的一條記錄刪除的話同時也會刪除order
???????? 表中的該用戶的所有記錄,注意使用外鍵要定義事務(wù)安全類型為INNODB;
?(普通索引)->
?? 創(chuàng)建:CREATE INDEX <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
?? 創(chuàng)表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
?? (唯一索引)->
?? 創(chuàng)建:CREATE UNIQUE <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
?? 創(chuàng)表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
?? (主鍵)->
?? 它是唯一索引,一般在創(chuàng)建表是建立,格式為:
?? CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])
this是指向當前對象的指針;
self是指向當前類的指針? 指向類本身,也就是說self不指向任何已經(jīng)實例化的對象。一般用來指向類中的靜態(tài)變量
::域運算符
parent是指向父類的指針
(第13講) PHP+MYSQL分頁原理
1、SQL語句中的limit用法
2、學習分頁的一種公式
3、parse_url()解析URL函數(shù)
4、$_SERVER["REQUEST_URI"]
$_GET[]:獲取通過地址欄提交的值
$_POST[]:獲取通過表單提交的值
$_SESSION[]:獲取保存SESSION的值
————————————————————————————————————
(第14講) PHP上傳原理及應(yīng)用
1、FORM標簽enctype屬性
2、$_FILES 系統(tǒng)函數(shù)
3、move_uploaded_file函數(shù)
4、is_uploaded_file 函數(shù)? 判斷上傳MIME類型的文件函數(shù)
表單中enctype="multipart/form-data"的意思,是設(shè)置表單的MIME編碼。默認情況,
這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;
只有使用了multipart/form-data,才能完整的傳遞文件數(shù)據(jù)
$_FILES
$_FILES['myFile']['name']?? 客戶端文件的原名稱。
$_FILES['myFile']['type']?? 文件的 MIME 類型,例如"image/gif"。
$_FILES['myFile']['size']?? 已上傳文件的大小,單位為字節(jié)。
$_FILES['myFile']['tmp_name']?? 儲存的臨時文件名,一般是系統(tǒng)默認。
$_FILES['myFile']['error']?? 該文件上傳相關(guān)的錯誤代碼。
————————————————————————————————————
error:
0; 文件上傳成功。
1; 超過了文件大小php.ini中。
2;?? 超過了文件大小
????? MAX_FILE_SIZE 選項指定的值。
3; 文件只有部分被上傳。
4; 沒有文件被上傳。
5; 上傳文件大小為0。
————————————————————————————————————
(第15講) PHP生成HTML文件原理
1、PHP部分文件操作函數(shù)
( fopen ,fread ,filesize,fwrite,fclose )
2、unlink()? 刪除成功 true
? rmdir() 刪除函數(shù)
————————————————————————————————————
(第16講) PHP小偷程序原理和實例
1、初識正則表達式??? 用于描述字符排列和匹配模式的一種語法規(guī)則。它主要用于字符串的模式分割
、匹配、查找及替換操作。
2、正則表達式函數(shù) ereg() eregi()
3、file_get_contents 讀取整個文件函數(shù)
4、寫一個天氣預報小偷的程序
————————————————————————————————————
(第17講) PHP面向?qū)ο箝_發(fā)的學習(一)
、什么是面向?qū)ο?#xff0c;什么是類
2、使用CLASS創(chuàng)建一個類
3、類的成員屬性和成員方法
4、使用new函數(shù)對象實例化
==========================================================================
(第24講) PHP面向?qū)ο箝_發(fā)的學習(八)
1、多態(tài)的介紹與優(yōu)勢
? 多態(tài)性是繼抽象和繼承后,面向?qū)ο笳Z言的第三個特征。從字面上理解,多態(tài)的意思是“多種形態(tài)”,簡單來說,多態(tài)是具有表現(xiàn)多種形態(tài)的能力的特征,在OO中是指“語言具有根據(jù)對象的類型以不同方式處理。
2、運算符 :instanceof
? instanceof 用來測定一個給定的對象是否來自指定的對象類。
3、多態(tài)的簡單應(yīng)用
==========================================================================
(第25講) PHP面向?qū)ο箝_發(fā)的學習(九)
1、PHP對象描述的配置
?? 方法名 __tostring()? 我們可以直接打印對象句柄,從而獲得該方法的基本信息或其他內(nèi)容。
2、對象方法的異常處理
?? 方法名 __call($funname,$arr_value)
?? 調(diào)用一些不存在的對象方法的異常處理,使程序繼續(xù)正常運行。
?? 因為參數(shù)會有多個所要
?? 用數(shù)組的方式保存,打印
?? 的時候也要就用print_r 輸出
?
3、克隆對象的應(yīng)用
? 方法名 __clone() ?
通過克隆的方式我們可以在內(nèi)存中生成兩個一樣的對象或升級原對象。
賦值:? 內(nèi)存中只有一個對象
克隆:? 內(nèi)存中有2個對象
__destruct()清理內(nèi)存
4、自動載入對象的方法
? 方法名 __autoload()
? 快速取得對象名稱并自動載入進當前頁面
==========================================================================
-------------------------------------------------------------------------------
PHP100視頻教程26:制作自己的PHP+MYSQL的類
-------------------------------------------------------------------------------
1、鞏固學習常用MYSQL函數(shù)
2、使用類封裝常用SQL操作,簡化代碼
3、認識面向?qū)ο笤陂_發(fā)中的重要作用
1、private 私有屬性關(guān)鍵字
2、__construct 初始化方法名
3、常用mysql函數(shù)
4、常用SQL語句
-------------------------------------------------------------------------------
PHP100視頻教程27:PHP模板引擎Smarty入門使用
-------------------------------------------------------------------------------
PHP100視頻教程28:PHP模板引擎Smarty的變量操作符
-------------------------------------------------------------------------------
?????? a? 什么是Smarty變量操作符
?????????? php模板引擎smarty內(nèi)置的一些操作函數(shù),我們稱之為變量操作符,變量操作符
?????????? 可用于操作變量,自定義函數(shù)和字符。(跟我PHP中常用的PHP內(nèi)部函數(shù)類似
?????????? 他可以幫助我們完成很多比較實用的功能,如:首字母大寫,拆分,替換,截取…
?????????? 更像是我們提前寫好的一些PHP常用類...
?????? b? 如何使用Smarty變量操作符
????????? 語法中使用"|"應(yīng)用變量操作符,多個參數(shù)用":" 分隔開來
?????????? {$name|truncate:10:"..."}? 截取前十個字符 多則用...代替
??????????? capitalize [首字母大寫]
?????????? count_characters [計算字符數(shù)]
?????????? cat [連接字符串]
?????????? count_paragraphs [計算段落數(shù)]
?????????? count_sentences [計算句數(shù)]
?????????? count_words [計算詞數(shù)]
?????????? date_format [時間格式]
??????????? efault [默認]
??????????? escape [轉(zhuǎn)碼]
??????????? indent[縮進]
??????????? lower[小寫 ]
??????????? nl2br[換行符替換成<br />]
??????????? regex_replace[正則替換]
??????????? replace[替換]
??????????? spacify[插空]
??????????? string_format[字符串格式化]
??????????? strip[去除(多余空格)]
??????????? strip_tags[去除html標簽]
???????????? truncate[截取]
???????????? upper[大寫]
???????????? wordwrap[行寬約束]
?????? c??? 常用的20個變量操作符
-----------------------------------------------------------------------------------????????? ?
PHP100視頻教程29:PHP模板引擎Smarty內(nèi)置函數(shù)
PHP100視頻教程30:PHP模板引擎Smarty緩存應(yīng)用
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
PHP100視頻教程31:PHP在線編輯器fckeditor應(yīng)用
-----------------------------------------------------------------------------------
在線排版,方便用戶和編輯操作,圖片,文字,視頻等功能生成對應(yīng)的
HTM代碼的編輯器,fckeditor 是其中一個做的比較好的一類編輯器
$sBasePath = $_SERVER['PHP_SELF'] ;
$sBasePath = dirname($sBasePath).'/';
$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath?? = $sBasePath ;
dirname ,取得路徑目錄命的函數(shù)
$oFCKeditor->Create();? 創(chuàng)建一個窗口出來
$oFCKeditor->Value='初始值';
-----------------------------------------------------------------------------------
PHP100視頻教程32:PHP5中Cookie與 Session詳解
PHP100視頻教程33:PHP5中圖片驗證碼的制作(上)
PHP100視頻教程34:PHP5中圖片中文驗證碼(下)
PHP100視頻教程35:PHP5文字圖片混合水印與縮略圖
PHP100視頻教程36:PHP中正則表達式學習及應(yīng)用(一)
-----------------------------------------------------------------------------------
①a-z A-Z _ 0-9? //最常見的字符
②(abc) (skd)? //用圓括號包含起來的單元符合
③[abcs] [^abd] //用方括號包含的原子表,原子表中的^代表排除或相反內(nèi)容
④轉(zhuǎn)義字符
? \d? 包含所有數(shù)字[0-9]
? \D? 除所有數(shù)字外[^0-9]
? \w? 包含所有英文字符[a-zA-Z_0-9]
? \W? 除所有英文字符外[^a-zA-Z_0-9] ?
? \s?? 包含空白區(qū)域如回車、換行、分頁等 [\f\n\r]
……
兩種正則使用的區(qū)別
preg('#abc#','adbjdjkdjfkdsajfdsakjf',#arr)
preg('/abc/','adbjdjkdjfkdsajfdsakjf',#arr)
ereg('abc','adbjdjkdjfkdsajfdsakjf',#arr)
()括號括起來表示整體匹配
?[] 方括號匹配其中任意的
\\? 兩個反斜杠 代表前面括號里面輸入什么,后面括號里就輸入什么。
就是調(diào)用第一個小括號中里面的內(nèi)容,//2就是第二個小括號的,以此類推。。。
-----------------------------------------------------------------------------------
PHP100視頻教程37:PHP中正則表達式學習及應(yīng)用(二)
PHP100視頻教程38:PHP中正則表達式學習及應(yīng)用(三)
——————————————————————————————————正則表達式中的“模式修正符”
?1、運算順序? ?
依然遵循從左到→右的運算規(guī)則
( )? 圓括號因為是內(nèi)存處理所以最高
* ? +? { } 重復匹配內(nèi)容其次
^ $ \b 邊界處理第三
|? 條件處理第四
最后按照運算順序計算匹配
?2、模式修正符
模式修正符是為正則表達式增強和補充的一個功能,使用在正則之外
/ 正則 / U? ?
i 正則內(nèi)容在匹配時候不區(qū)分大小寫(默認是區(qū)分的)
m 在匹配首內(nèi)容或者尾內(nèi)容時候采用多行識別匹配
S 將轉(zhuǎn)義回車取消是為單行匹配如. 匹配的時候
x 忽略正則中的空白
A 強制從頭開始匹配
D 強制$匹配尾部無任何內(nèi)容 \n
U 禁止貪婪匹配 只跟蹤到最近的一個匹配符并結(jié)束,
??? 常用在采集程序上的正則表達式
/n? 就是回車
——————————————————————————————————
PHP100視頻教程39:PHP中正則表達式學習及應(yīng)用(四)
PHP100視頻教程40:PHP中開發(fā)自己的-UBB代碼
PHP100視頻教程41:PHP站內(nèi)搜索、多關(guān)鍵字、加亮顯示
PHP100視頻教程42:PHP通過mail()或Socket發(fā)郵件
PHP100視頻教程43:PHP中MVC學習之ThinkPHP(上)
PHP100視頻教程44:PHP中MVC學習之ThinkPHP(下)
PHP100視頻教程45:如何用PHP開發(fā)一個完整的網(wǎng)站
PHP100視頻教程46:PHPMyAdmin功能操作詳解
PHP100視頻教程47:PHP輸出CSV和EXCEL兩種簡單的方法
PHP100視頻教程48:Ajax+PHP快速上手及應(yīng)用
——————————————————————————————————
xmlHttp = new XMLHttpRequest();
這對于規(guī)范的Js支持的瀏覽器來講是沒錯的
恰恰相反IE卻就不支持,所以沒辦法我們只能
做個判斷再創(chuàng)建一個IE支持的
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
——————————————————————————————————
PHP100視頻教程49: Ajax+PHP打造等待進度條效果(二)
——————————————————————————————————
——————————————————————————————————
PHP100視頻教程50: Ajax+PHP檢查用戶名或郵件(三)
PHP100視頻教程51:PHP+MYSQL會員系統(tǒng)的開發(fā)(上)
——————————————————————————————————————————————————
1、學會使用常量提高md5安全性
2、Cookie/ Session 少用明文信息
3、Session安全性要大于Cookie
4、使用Cookie/ Session讀取信息
????? 盡量增加判斷信息
5、Cookie/ Session內(nèi)容要精簡
6、對于錯誤信息及時銷毀Cookie/ Session
——————————————————————————————————————————————————
PHP100視頻教程52:PHP+MYSQL會員系統(tǒng)的開發(fā)(下)
——————————————————————————————————————————————————————————————————————————————————————————————————無交叉,實現(xiàn)順序權(quán)限控制,可實現(xiàn)多層,也就是上一層
永遠大于下一層的權(quán)限,常用在留言板,CMS、后臺
論壇等程序當中,不適合在ERP,OA等類型系統(tǒng)中使用
設(shè)置技巧:
?? 為了實現(xiàn)權(quán)限的無限層級配置,最高層應(yīng)使用最小值來
做權(quán)限標志位,方便下行可用無線累計的空間
——————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程53:PHP如何防止注入及開發(fā)安全
——————————————————————————————————————————————————————————————
1、PHP注入的基本原理
? 程序員的水平及經(jīng)驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對
用戶輸入數(shù)據(jù)的合法性進行判斷,使應(yīng)用程序存在安全隱患。用戶可以提交一段數(shù)據(jù)
庫查詢代碼,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù),這就是所謂的
SQL Injection,即SQL注入。 受影響的系統(tǒng):對輸入的參數(shù)不進行檢查和過濾的系統(tǒng)
2、防止注入的幾種辦法
function inject_check($sql_str) {
?? return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str);???? // 進行過濾
}
Addslashes(需要被過濾的內(nèi)容)
3、PHP其他地方安全設(shè)置
——————————————————————————————————————————————————————
PHP100視頻教程54:Apache Rewrite 擬靜態(tài)配置
———————————————————————————————————————————————————————————————
1、mod_rewrite 簡介和配置
Rewirte主要的功能就是實現(xiàn)URL的跳轉(zhuǎn)和隱藏真實地址,基于Perl語言的正則表達式規(guī)范。平時幫助我們實現(xiàn)擬靜態(tài),擬目錄,域名跳轉(zhuǎn),防止盜鏈等
Apache配置:
支持httpd.conf 配置和目錄 .htaccess配置
啟用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so
去除前面的 #
LoadModule rewrite_module modules/mod_rewrite.so
然后重啟apache
啟用.htaccess
AllowOverride None??? 修改為: AllowOverride All
2、mod_rewrite 規(guī)則的使用
RewriteEngine on??? 啟動rewrite引擎,所有的rewrite之前必須啟用這一句
RewriteCond %{HTTP_HOST} !^www.php100.com [NC]?? 地址重寫? !不等于 ^最開始? [NC] 規(guī)則修正符,不區(qū)分大小寫
RewriteRule ^/(.*) http://www.php100.com/ [L]?? rewrite 規(guī)范
--------
RewriteEngine on ?
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1 ?
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
?
3、mod_rewrite 規(guī)則修正符
1) R 強制外部重定向??? -- 跳轉(zhuǎn)到真實地址
2) F 禁用URL,返回403HTTP狀態(tài)碼。? -- HTTP的一個協(xié)議403
3) G 強制URL為GONE,返回410HTTP狀態(tài)碼。?? -- HTTP返回錯誤頭,這個頁面永久消失
4) P 強制使用代理轉(zhuǎn)發(fā)。
5) L 表明當前規(guī)則是最后一條規(guī)則,停止分析以后規(guī)則的重寫。? --停止分析以后的規(guī)則
6) N 重新從第一條規(guī)則開始運行重寫過程。
7) C 與下一條規(guī)則關(guān)聯(lián)8) T=MIME-type(force MIME type) 強制MIME類型
8)T
9) NS? 只用于不是內(nèi)部子請求
10) NC 不區(qū)分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉(zhuǎn)義特殊字符?? \%3d$1? 等價于 =$1
(.*)? 代表任何格式
支持.htaccess
配置?? AllowOverride all
Options? all 可以改為all
————————————————————————————————————————————————————————————————
PHP100視頻教程55:PHP5中使用PDO連接數(shù)據(jù)庫
——————————————————————————————————————————————————————————————
1、PDO? 簡介 和 配置
PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個重大功能,因為在PHP 5以前的
php4/php3都是一堆的數(shù)據(jù)庫擴展來跟各個數(shù)據(jù)庫的連接和處理,什么 php_mysql.dll、php_pgsql.dll、
php_mssql.dll、php_sqlite.dll等等
PHP6中也將默認使用PDO的方式連接,mysql擴展將被作為輔助
兩個冒號(::)是對類中的方法的靜態(tài)引用
也就是不需要實例化對象,直接通過類名對類中的方法進行引用
2、PDO? 如何連接 MYSQL
new PDO(“連接信息”, 'root', '', array(PDO::ATTR_PERSISTENT => true));
3、PDO 常用方法及其使用
PDO::query() 主要是用于有記錄結(jié)果返回的操作,特別是SELECT操作
PDO::exec() 主要是針對沒有結(jié)果集合返回的操作,如INSERT、UPDATE等操作
PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID
PDOStatement::fetch() 是用來獲取一條記錄 ?
PDOStatement::fetchAll() 是獲取所有記錄集到一個中 ?
——————————————————————————————————————————————————————————————
PHP100視頻教程56:制作PHP安裝程序的原理和步驟
——————————————————————————————————————————————————————————————————————————————————————————————————1、制作PHP安裝程序的原理和步驟
2、制作安裝用到的PHP函數(shù)
3、制作安裝的注意事項
? is_writable() 檢查文件是否可寫,用來判斷文件權(quán)限, 同類函數(shù)還有is_readable() 檢查文件是否可讀,返回布爾值
? is_writable() 檢查文件是否可寫,用來判斷文件權(quán)限, 同類函數(shù)還有is_readable() 檢查文件是否可讀,返回布爾值 ?
?fopen () 文件操作函數(shù),打開一個文件或新建 fwrite () 文件操作函數(shù),寫入內(nèi)容到文件 rename() 文件操作函數(shù),給文件改名
————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程57:PHP備份數(shù)據(jù)庫原理和方法
——————————————————————————————————————————————————————————————————————————————————————————————————
1、PHP備份數(shù)據(jù)庫的原理
2、PHP中mysql相關(guān)函數(shù)
3、備份時候的注意事項
mysql_list_tables() 表查詢函數(shù),類似mysql_query() 函數(shù)
mysql_fetch_field() 字段信息函數(shù),返回句柄
Name 字段的名稱
Table 字段所屬數(shù)據(jù)表的名稱
Type 字段的類型
max_length 字段的最大長度
not_null 字段是否不能為空,是,則這一項的值為1
primary_key 字段是否為主鍵,是,則這一項的值為1
unique_key 字段是否為unique鍵,是,則這一項的值為1
multiple_key 字段是否不為unique鍵,是,則這一項的值為1
Numeric 字段是否為數(shù)字型,是,則這一項的值為1
Blob 字段是否為blob型,是,則這一項的值為1
Unsigned 數(shù)字型的字段是否為unsigned的,是,則這一項的值為1
Zerofill 數(shù)字型的字段是否為zerofilled的,是,則這一項的值為1
備份數(shù)據(jù)庫主要備份 數(shù)據(jù)庫結(jié)構(gòu)和? 數(shù)據(jù)庫數(shù)據(jù)。
1、注意數(shù)據(jù)庫的大小,過大或者過多的表分段處理
2、生成的SQL文件名或者存放不易被猜到
3、備份生成文件可以表或者自動為單位保存
4、可以使用ZIP組件壓縮生成的文件以便保持
——————————————————————————————————————————————————————————————
PHP100視頻教程58:快速設(shè)計一個企業(yè)網(wǎng)站之BIWEB
——————————————————————————————————————————————————————————————
1、企業(yè)網(wǎng)站都有哪些基本功能
2、如何寫企業(yè)網(wǎng)站評估報告
3、神奇的BIWEB積木式建站系統(tǒng)
——————————————————————————————————————————————————————————————
PHP100視頻教程59:關(guān)于BIWEB常見問題和結(jié)構(gòu)分析
PHP100視頻教程60:PHP與數(shù)據(jù)庫代碼開發(fā)規(guī)范
PHP100視頻教程61:PHP+Mysql新聞系統(tǒng)的開發(fā)一
——————————————————————————————————————————————————————————————
1、設(shè)計新聞系統(tǒng)簡單的UML模
UML設(shè)計工具 powerdesigner? diagramdesigner
2、設(shè)計所需的環(huán)境、模塊、模板樣式
3、數(shù)據(jù)庫UML設(shè)計和創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)
——————————————————————————————————————————————————————————————
PHP100視頻教程62:PHP+Mysql新聞系統(tǒng)的開發(fā)二
——————————————————————————————————————————————————————————————
1、建立底層結(jié)構(gòu)和文件夾
?? 構(gòu)建文件夾結(jié)構(gòu),萬能擴展結(jié)構(gòu)? 相互連接文件和配置
2、連接相關(guān)類和配置數(shù)據(jù)庫
3、調(diào)試后臺和登錄功能
————————————————————————————————————————————————————————
PHP100視頻教程63:PHP+Mysql新聞系統(tǒng)的開發(fā)三(上)
————————————————————————————————————————————————————————
————————————————————————————————————————————————————————
PHP100視頻教程64:PHP+Mysql新聞系統(tǒng)的開發(fā)四
PHP100視頻教程65:PHP+Mysql新聞系統(tǒng)的開發(fā)五
PHP100視頻教程66:PHP+Mysql新聞系統(tǒng)的開發(fā)六
PHP100視頻教程67:PHP+Mysql新聞系統(tǒng)的開發(fā)七
——————————————————————————————————————————————————————————
注意事項:
???? 1、配置模板圖片,Css路徑
???? 2、盡可能的將變量寫入數(shù)組
???? 3、模板文件名盡可能的與PHP文件相關(guān)
???? 4、為了方便使用書寫通用調(diào)用方法,將header.php? footer.php獨立出來
——————————————————————————————————————————————————————————
PHP100視頻教程68:PHP+Mysql新聞系統(tǒng)的開發(fā)八
PHP100視頻教程69:PHP+Mysql新聞系統(tǒng)的開發(fā)九
PHP100視頻教程70:PHP 5.3.1 + Apache + Mysql配置
————————————————————————————————————————————————————————
Apache
? LoadModule php5_module? C:/WAMP/PHP/php5apache2_2.dll
? PHPIiniDir "C:/WAMP/PHP5.3.1"? 默認去C盤查找
? AddType? application/x-httpd-php? .php? .phtml
PHP配置文件PHP.ini
php.ini-development、? php.ini-production? 修改為php.ini
?extension_dir ?
————————————————————————————————————————————————————————
PHP100視頻教程71:PHP SQLite 的使用和配置
————————————————————————————————————————————————————————ACID 數(shù)據(jù)庫事務(wù)標準? SQLite 輕型的數(shù)據(jù)庫
PHP+SQLite——>ASP+Access
SQLite的數(shù)據(jù)庫是個獨立的文件,和程序一樣保持在web目錄下即可。
1、PHP 中 SQLite 簡介 和 特點
特點:
??? 1、SQLite數(shù)據(jù)庫足夠小, 大致3萬行C代碼, 共計250K左右
??? 2、配置簡單,支持各類平臺:Windows/Linux/Unix/MAC
??? 3、最大的數(shù)據(jù)庫支持2T???? ------- 1T = 1024G
??? 4、SQLite支持無數(shù)據(jù)庫類型 (為提高效率不建議)
??? 5、SQLite完全開源,懂得C的朋友可以下載源碼完善它
2、在PHP中如何開啟使用 SQLite
在PHP 5.1.x 以后自帶了 SQLtie 數(shù)據(jù)庫功能,只需要在配置中開啟即可
PHP.ini
?
;extension=php_sqlite.dll
在PHP 5.2.x 以后自帶了 SQLtie PDO數(shù)據(jù)庫功能,只需要在配置中開啟即可
PHP.ini
?
;extension=php_pdo_sqlite.dll
3、創(chuàng)建SQLite 數(shù)據(jù)庫的兩種方法
使用PHP函數(shù)直接開啟建立
通過SQLiteManager來創(chuàng)建管理 SQLite 數(shù)據(jù)庫文件
4、SQLiteManager 簡單實用和配置
————————————————————————————————————————————————————
PHP100視頻教程72:PHP+SQLite 常用函數(shù)及應(yīng)用
——————————————————————————————————————————————————————————
sqlite_open(數(shù)據(jù)庫名,模式,錯誤信息)? 數(shù)據(jù)庫名 有則連接,無則自動建立;模式 對數(shù)據(jù)庫操作的讀寫模式默認0666? 返回數(shù)據(jù)庫錯誤信息
sqlite_query(數(shù)據(jù)庫連接參數(shù),SQL參數(shù))
sqlite_num_rows(SQL返回句柄)
sqlite_last_insert_rowid(數(shù)據(jù)庫連接參數(shù))
sqlite_fetch_array(SQL返回句柄,返回索引)
返回索引:
SQLITE_ASSOC 只會返回關(guān)聯(lián)索引(有名稱字段)而
SQLITE_NUM 只會返回數(shù)字索引(有序字段數(shù))。
SQLITE_BOTH 會同時返回關(guān)聯(lián)和數(shù)字索引。
SQLITE_BOTH 是本函數(shù)的默認值
?
——————————————————————————————————————————————————————————
PHP100視頻教程73:PHP MemCached高級緩存配置
——————————————————————————————————————————————————————————————
memcached.exe? -d? install
memcached.exe? -d? start
telnet?? 11211
exit
quit
——————————————————————————————————————————————————————————————
PHP100視頻教程74:PHP MemCached 高級緩存應(yīng)用
——————————————————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程75:Zend framework 配置與調(diào)試
————————————————————————————————————————————————————————
——————————————————————————————————————————|
ZF? 需要5.2.0以上才可以運作
PDO
rewrite
基于MVC
有豐富和開源的組件
application?? MVC文件夾
?? controllers? 控制文件夾
?? models?????? 模塊文件夾
?? views?? 模板文件夾
library
?? zend?? zend文件夾
public??? 公共配置文件夾
?
缺點:配置復雜,門檻較高,OOP,MVC? ?
————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程76:Zend framework 數(shù)據(jù)庫操之讀取與插入
PHP100視頻教程77:Zend framework數(shù)據(jù)庫操作之編輯和視圖函數(shù)
PHP100視頻教程78:PHP+Flash多文件異步上傳 swfupload
————————————————————————————————————————————————————————
1、 多文件選取異步上傳的原理
2、 swfupload 介紹 和 相關(guān)使用 3、實例操作和實現(xiàn)數(shù)據(jù)庫插入
3、實例操作和實現(xiàn)數(shù)據(jù)庫插入
getcwd()? 獲取絕對路徑。
move_uploaded_file
————————————————————————————————————————————————————————
PHP100視頻教程79:PHP上傳RAR壓縮包并解壓目錄
————————————————————————————————————————————————————————system() 輸出并返回最后一行shell結(jié)果。 exec() 不輸出結(jié)果,返回最后一行shell結(jié)果 passthru() 只調(diào)用命令,把運行結(jié)果原樣地輸出 new com()? 系統(tǒng)預定義com類,根據(jù)需要任意選擇內(nèi)置方法?? ?
相同點:都可以獲得命令執(zhí)行的狀態(tài)碼
$obj=new com("wscript.shell");
?? $obj->run(“所要執(zhí)行的命令內(nèi)容”);
———————————————————————————————————————————————————————
PHP100視頻教程80:ADODB PHP 數(shù)據(jù)庫萬能引擎類(上)
————————————————————————————————————————————————————————
ADODB 是一種兼容的各類數(shù)據(jù)庫應(yīng)用程序接口(API),支持的數(shù)據(jù)庫種類非常地多,
例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro,
Access, ADO, Sybase, DB2 以及一般的 ODBC
特點:
1、ADODB 在PHP中規(guī)范各類數(shù)據(jù)庫的鏈接和使用
2、ADODB 幫助我們在PHP提供開發(fā)效率和快速轉(zhuǎn)換各類數(shù)據(jù)庫
3、ADODB 使用相對簡單,容易上手
4、ADODB 寫作要求有時要求比較嚴謹,注意大小寫。
5、ADODB 內(nèi)置函數(shù)比較豐富可以快速和自動的幫助我們完成一些比較復雜的工作
————————————————————————————————————————————————————————
PHP100視頻教程81:ADODB PHP 數(shù)據(jù)庫萬能引擎類(下)
——————————————————————————————————————————————————————————————
1、 PHP ADODB 地址方式連接數(shù)據(jù)庫
$db = NewADOConnection('mysql://root:pwd@localhost/upload');
$sql="SELECT * FROM `pic`";
echo $db->SetFetchMode(ADODB_FETCH_NUM);
$sr1 = $db->Execute($sql);
?print_r($sr1->fields);
2、 PHP ADODB 對象方式獲取數(shù)據(jù)庫內(nèi)容
?? $db = NewADOConnection('mysql');
?? $db->PConnect("localhost", "root", "", "upload");
?? $sql="SELECT * FROM `pic`";
?? $rs2=$db->Execute($sql);
? while($row=$rs2->FetchNextObject()){
??? print_r($row);
? }
3、 PHP ADODB HTML代碼方式顯示內(nèi)容
?? include_once("adodb5/tohtml.inc.php");
?? $db = NewADOConnection('mysql');
?? $db->Connect("localhost", "root", "", "upload");
?? $sql="SELECT * FROM `pic`";
?? $rs2=$db->Execute($sql);
?? echo rs2html($rs2);
4、 PHP ADODB 實現(xiàn)內(nèi)容自動分頁功能
include_once("adodb5/adodb-pager.inc.php");
session_start();
$db = NewADOConnection('mysql');
$db->Connect("localhost", "root", "", "upload");
?????? $sql="SELECT * FROM `pic`";
?????? $pager=new ADODB_Pager($db,$sql);
?????? $pager->Render(3);
——————————————————————————————————————————————————————————————
PHP100視頻教程82: PHP開發(fā)通用采集入庫程序
——————————————————————————————————————————————————————————————————————————————
file_get_contents() 遠程文件獲取函數(shù),用來獲取遠程頁面內(nèi)容
preg_match_all()進行全局正則表達式匹配 用于匹配列表
preg_match?? ()進行正則表達式匹配 用于匹配終端
preg_replace ()進行正則表達式替換 用于過濾終端
復習正則表達式 、 正則修正符用法。
##? //? 開始和結(jié)束標志
——————————————————————————————————————————————————————————————————————————————
PHP100視頻教程83: PHP開發(fā)通用采集入庫程序二
PHP100視頻教程84:PHP開發(fā)通用采集入庫程序三
PHP100視頻教程85:PHP 圖表類 JPGraph 入門配置與應(yīng)用
PHP100視頻教程86:PHP JPGraph 中文字體和背景設(shè)置
PHP100視頻教程87:PHP 之 CURL 傳輸與獲取功能
——————————————————————————————————————————————————————————————————————————————
1、什么是CURL且能實現(xiàn)什么功能?
curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協(xié)議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, HTTP上傳, 代理服務(wù)器, cookies, 用戶名/密碼認證, 下載文件斷點續(xù)傳等等,功能十分強大。
PHP中常用都實現(xiàn)那些功能:
?? 1、實現(xiàn)遠程獲取和采集內(nèi)容
?? 2、實現(xiàn)PHP 網(wǎng)頁版的FTP上傳下載
?? 3、實現(xiàn)模擬登陸
?? 4、實現(xiàn)接口對接(API),數(shù)據(jù)傳輸?shù)?
?? 5、實現(xiàn)模擬Cookie等
?2、PHP 如何使用CURL功能
默認情況下PHP是不支持CURL功能的,需要在PHP.ini中開啟該功能
1? 整個操作過程中第一步是用cur_init()函數(shù)進行初始化
?? $curl = curl_init(‘www.php100.com’); 2? 然后,用curl_setopt()函數(shù)進行設(shè)置選項。 3? 設(shè)置后,進行執(zhí)行事務(wù) curl_exec($curl); 4? 最后關(guān)閉curl_close();
$curl = curl_init(); //初始化一個 cURL 對象
curl_setopt($curl, CURLOPT_URL, "http://www.php100.com");
//設(shè)置你需要抓取的URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。
$data = curl_exec($curl); //運行cURL,請求網(wǎng)頁
curl_close($curl); //關(guān)閉URL請求
?3、使用PHP CURL實現(xiàn)傳輸和獲取功能
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
——————————————————————————————————————————————————————————————————————————————
PHP100視頻教程88:PHP 之 CURL模擬登陸并獲取數(shù)據(jù)
PHP100視頻教程89:PHP XML 的 DOMDocument 讀取功能
PHP100視頻教程90:PHP DOM 創(chuàng)建生成多功能 XML文件
PHP100視頻教程91:PHP修改和刪除XML內(nèi)容的原理和方法
——————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程92:在線支付接口之PHP支付寶接口開發(fā)
————————————————————————————————————————
1、什么是支付接口
? 支付接口一般是第三方提供的代收款/付款的平臺,可以通過支付接口幫助企業(yè) 或個人利用一切可以使用的支付方式(手機、銀行卡、會員卡等)產(chǎn)生交易。 常見支付平臺:支付寶、塊錢、云網(wǎng)支付、貝寶、財付通(QQ)等
2、實現(xiàn)在線支付接口的原理和流程
3、學習支付寶接口及時到賬開發(fā)和配置
————————————————————————————————————————
PHP100視頻教程93:在線支付接口之PHP云網(wǎng)接口開發(fā)
PHP100視頻教程94:SVN (Subversion) 配置與安裝調(diào)試
———————————————————————————————————————
anon-access=read? 匿名用戶可以訪問,前面不要有空格
密碼設(shè)置為明文? username=password的格式
authz權(quán)限設(shè)置中 adminss=harry,nash 逗號分隔的格式
adminss=rw? 賦予讀寫權(quán)限
啟動svn的命令
svnserve.exe? -d? -r? D:\svn
????????????? 安全模式 只讀
瀏覽? svn://127.0.0.1
————————————————————————————————————————————————————————————————————
PHP100視頻教程95:SVN (Subversion) 應(yīng)用與技巧
——————————————————————————————————
1、如何增加SVN到windows服務(wù)中并自動啟動
?? sc create svnserve binpath= "C:\...\bin\svnserve.exe --service --root D:\svn"
?? Sc delete svnserve
2、SVN 控制器的文件的鎖定和操作
3、SVN 查看歷史文件并對比差異內(nèi)容
4、SVN 處理更新過的新版本文件
5、SVN 導出內(nèi)容和文件方法和注意事項
——————————————————————————————————
PHP100視頻教程96:PHP程序員經(jīng)典面試&筆試題目解析(上)
PHP100視頻教程97:PHP程序員經(jīng)典面試&筆試題目解析(下)
PHP100視頻教程98:PHP會員權(quán)限交叉多類型的控制(上)
————————————————————————————————————————————————————
1、會員交叉權(quán)限控制實現(xiàn)的原理
在PHP中要判斷一個數(shù)在某些數(shù)范圍內(nèi)就可以使用 & 運算符。
& 是位運算,不是 && 邏輯運算 (位運算符:&? |? ^? ~)
例如:7=4|2|1 ? ===》?? $sy = 4|2|1
這里的或是指的可以能包含的內(nèi)容值,在位運算里其實可以簡單理解成 7=4+2+1,
用 & 來操作,可以知道7&4、7&2、7&1都是真的,而如果7&8則是假的。
我們還可以用^ 來從包含的值內(nèi)去除:如 $ny = $sy ^ 2 ?
這樣一來,$ny 只有 4|1 如果做判斷也就只有 $ny&4、$ny&1
2、利用PHP位運算二進制實現(xiàn)權(quán)限控制
常量設(shè)置成功后,不能被修改。
decbin()? 轉(zhuǎn)換為二進制
————————————————————————————————————————————————————
PHP100視頻教程99:PHP會員權(quán)限交叉多類型的控制(下)
———————————————————————————————————————
1、會員與會員組的關(guān)系
2、設(shè)計會員權(quán)限系統(tǒng)的結(jié)構(gòu)解析
array_sum($_POST[gr]);
———————————————————————————————————————
PHP100視頻教程100:PHP程序員的學習之路和未來職業(yè)規(guī)劃
PHP100視頻教程101:PHP5.3 Xdebug 調(diào)試器配置與應(yīng)用
————————————————————————————————————————————————
php.ini? zend_extension=D:\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll
PHP5.2為zend_extension_ts??? xdebug在PHP5.2和PHP5.3中有區(qū)別的。
請使用絕對路徑
phpino();?? 最下面底部會出現(xiàn)Xdebug的相關(guān)信息,說明沒有安裝成功,需要檢查路徑和下載的版本問題。
vc6 是apache中
vc9是iis中
同時注意是32位,還是64位
————————————————————————————————————————————————
PHP100視頻教程102:PHP5.3 Xdebug 錯誤分析與性能調(diào)試
PHP100視頻教程103:JQuery 之 Javascript 基礎(chǔ)(一)
PHP100視頻教程104:JQuery 之 Javascript 基礎(chǔ)(二)
PHP100視頻教程105:JQuery 之 Javascript 基礎(chǔ)(三)
PHP100視頻教程106:JQuery 之語法模式與開發(fā)基礎(chǔ)
PHP100視頻教程107:JQuery 之選擇器、事件器詳解
———————————————————————————————————————————————————————————Jquery選擇器的各種用法
$(this)?? ??? ??? ?當前元素
$("p")?? ??? ??? ?所有<p>元素
$("input")?? ??? ?所有input元素
$(".intro")?? ??? ?所有 class=“intro” 的元素
$("p.intro")?? ??? ?所有 class="intro" 的<p>元素
$("#intro")?? ??? ?id="intro" 的第一個元素
$("ul > li") ?? ??? ?ul下的所有l(wèi)i節(jié)點
$("ul li:first")?? ??? ?每個 <ul> 的第一個 <li> 元素
$("[href$='.jpg']")?? ?所有帶有以 ".jpg" 結(jié)尾的 href 屬性的屬性
$("div#intro .head")?? ?id="intro" 的 <div> 元素中的所有 class="head" 的元素
$(li[a:contains('Register')]")?? ??? ?內(nèi)容包含Register的<a>元素
$("input[@name=bar]")?? ??? ??? ?name是bar的<input>元素
$("input[@type=radio][@checked]")?? ?type是radio的<input>元素
$(“l(fā)i”).not(“ul”)?? ??? ??? ??? ?li下沒有包含ul節(jié)點的節(jié)點元素
$("span[@id]")?? ??? ??? ??? ?包含id屬性的<span>元素
$("[@id=span1]")?? ??? ??? ?id為span1的節(jié)點元素
$(元素). 事件( 事件屬性);
Jquery事件器的介紹
$(元素). 事件( 事件屬性);
$(selector).click()?? ??? ?被選元素的點擊事件
$(selector).dblclick()?? ??? ?被選元素的雙擊事件
$(selector).focus()?? ??? ?被選元素的獲得焦點事件
$(selector).mouseover()?? ??? ?被選元素的鼠標懸停事件
$(selector).css();?? ??? ?被選元素的CSS事件
$(selector). hide();?? ??? ?被選元素的隱藏事件
$(selector). show('slow');?? ??? ?被選元素的顯示事件
——————————————————————————————————————————————————
Dom節(jié)點操作
$(“a”).addClass(“red”) ??? ??? ?為所有<a>增加class=”red”
$(“a”).removeClass(“red”) ??? ?為所有<a>去掉class=”red”
$(“l(fā)i”).append(“BB!”) ??? ??? ?為<li>增加”BB!”innerHTML
——————————————————————————————————————————————————————————
執(zhí)行事件
————//hover是在執(zhí)行完第一個函數(shù)后再執(zhí)行第二個
$(“p”).hover(function(){ ?? ??? ?
? $(this).addClass("hover");
},function(){
? $(this).removeClass("hover");
});
//toggle第一次點擊執(zhí)行第一個函數(shù),再點擊執(zhí)行第二個
$(“p”).toggle(function(){?? ??? ?
$(this).addClass("selected");?? ?
},function(){
? $(this).removeClass("selected");
});
—————————————————————————————————————————————————
PHP100視頻教程108:JQuery之各類動畫效果的實現(xiàn)
PHP100視頻教程109:JQuery 之 Ajax 開發(fā)詳解
總結(jié)
以上是生活随笔為你收集整理的《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Skyline软件二次开发初级——4如何
- 下一篇: 针式打印机风格英文字体_如何写得一手好看