日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)

發布時間:2023/12/14 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PHP100視頻教程1:環境配置與代碼調試
PHP100視頻教程2:PHP的數據類型與源碼調試
PHP100視頻教程3:常用PHP運算類型介紹與應用
PHP100視頻教程4: PHP條件語句介紹與應用
PHP100視頻教程5:PHP循環語句的介紹與應用
PHP100視頻教程6:PHP數組的創建修改應用
PHP100視頻教程7:PHP函數和自定義函數
PHP100視頻教程8:Mysql 簡介和創建新的數據庫
PHP100視頻教程9:數據庫中的常用SQL語句
PHP100視頻教程10:MYSQL在PHP5中的應用
PHP100視頻教程11:學習制作PHP+MYSQL留言板(上)
PHP100視頻教程12:學習制作PHP+MYSQL留言板(下)
PHP100視頻教程13:PHP+MYSQL分頁原理
PHP100視頻教程14:PHP上傳原理及應用
PHP100視頻教程15:PHP生成HTML文件原理
PHP100視頻教程16:PHP小偷程序原理和實例
PHP100視頻教程17:PHP面向對象開發的學習(一)
PHP100視頻教程18:PHP面向對象開發的學習(二)
PHP100視頻教程19:PHP面向對象開發的學習(三)
PHP100視頻教程20:PHP面向對象開發的學習(四)
PHP100視頻教程21:PHP面向對象開發的學習(五)
PHP100視頻教程22:PHP面向對象開發的學習(六)
PHP100視頻教程23:PHP面向對象開發的學習(七)
PHP100視頻教程24:PHP面向對象開發的學習(八)
PHP100視頻教程25:PHP面向對象開發的學習(九)




事務處理:
?? a.保證數據完整性,例如添加和修改同時,兩者成立則都執行,一者失敗都失敗
?? mysql_query("BEGIN");
?? mysql_query("INSERT INTO customerinfo (name) VALUES ('$name1')";
?? mysql_query("SELECT * FROM `orderinfo` where customerid=".$id");
?? mysql_query("COMMIT");


鎖定表,優化事務處理:
?? a.我們用一個 SELECT 語句取出初始數據,通過一些計算,用 UPDATE 語句將新值更新到表中。
???? 包含有 WRITE 關鍵字的 LOCK TABLE 語句可以保證在 UNLOCK TABLES 命令被執行之前,
???? 不會有其它的訪問來對 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");

使用外鍵,優化鎖定表
?? 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',該參數保證當customerinfo表中的一條記錄刪除的話同時也會刪除order
???????? 表中的該用戶的所有記錄,注意使用外鍵要定義事務安全類型為INNODB;


?(普通索引)->
?? 創建:CREATE INDEX <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
?? 創表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
?? (唯一索引)->
?? 創建:CREATE UNIQUE <索引名> ON tablename (索引字段)
?? 修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
?? 創表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
?? (主鍵)->
?? 它是唯一索引,一般在創建表是建立,格式為:
?? CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])


this是指向當前對象的指針;
self是指向當前類的指針? 指向類本身,也就是說self不指向任何已經實例化的對象。一般用來指向類中的靜態變量
::域運算符

parent是指向父類的指針


(第13講) PHP+MYSQL分頁原理
1、SQL語句中的limit用法
2、學習分頁的一種公式
3、parse_url()解析URL函數
4、$_SERVER["REQUEST_URI"]


$_GET[]:獲取通過地址欄提交的值
$_POST[]:獲取通過表單提交的值
$_SESSION[]:獲取保存SESSION的值



————————————————————————————————————
(第14講) PHP上傳原理及應用
1、FORM標簽enctype屬性
2、$_FILES 系統函數
3、move_uploaded_file函數
4、is_uploaded_file 函數? 判斷上傳MIME類型的文件函數

表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認情況,
這個編碼格式是application/x-www-form-urlencoded,不能用于文件上傳;
只有使用了multipart/form-data,才能完整的傳遞文件數據


$_FILES
$_FILES['myFile']['name']?? 客戶端文件的原名稱。
$_FILES['myFile']['type']?? 文件的 MIME 類型,例如"image/gif"。
$_FILES['myFile']['size']?? 已上傳文件的大小,單位為字節。
$_FILES['myFile']['tmp_name']?? 儲存的臨時文件名,一般是系統默認。
$_FILES['myFile']['error']?? 該文件上傳相關的錯誤代碼。

————————————————————————————————————



error:
0; 文件上傳成功。
1; 超過了文件大小php.ini中。
2;?? 超過了文件大小
????? MAX_FILE_SIZE 選項指定的值。
3; 文件只有部分被上傳。
4; 沒有文件被上傳。
5; 上傳文件大小為0。





————————————————————————————————————
(第15講) PHP生成HTML文件原理
1、PHP部分文件操作函數
( fopen ,fread ,filesize,fwrite,fclose )

2、unlink()? 刪除成功 true
? rmdir() 刪除函數
————————————————————————————————————
(第16講) PHP小偷程序原理和實例
1、初識正則表達式??? 用于描述字符排列和匹配模式的一種語法規則。它主要用于字符串的模式分割
、匹配、查找及替換操作。

2、正則表達式函數 ereg() eregi()
3、file_get_contents 讀取整個文件函數
4、寫一個天氣預報小偷的程序

————————————————————————————————————
(第17講) PHP面向對象開發的學習(一)
、什么是面向對象,什么是類
2、使用CLASS創建一個類
3、類的成員屬性和成員方法
4、使用new函數對象實例化



==========================================================================
(第24講) PHP面向對象開發的學習(八)
1、多態的介紹與優勢
? 多態性是繼抽象和繼承后,面向對象語言的第三個特征。從字面上理解,多態的意思是“多種形態”,簡單來說,多態是具有表現多種形態的能力的特征,在OO中是指“語言具有根據對象的類型以不同方式處理。

2、運算符 :instanceof
? instanceof 用來測定一個給定的對象是否來自指定的對象類。

3、多態的簡單應用


==========================================================================
(第25講) PHP面向對象開發的學習(九)
1、PHP對象描述的配置
?? 方法名 __tostring()? 我們可以直接打印對象句柄,從而獲得該方法的基本信息或其他內容。

2、對象方法的異常處理
?? 方法名 __call($funname,$arr_value)
?? 調用一些不存在的對象方法的異常處理,使程序繼續正常運行。
?? 因為參數會有多個所要
?? 用數組的方式保存,打印
?? 的時候也要就用print_r 輸出
?
3、克隆對象的應用
? 方法名 __clone() ?
通過克隆的方式我們可以在內存中生成兩個一樣的對象或升級原對象。
賦值:? 內存中只有一個對象
克隆:? 內存中有2個對象

__destruct()清理內存
4、自動載入對象的方法
? 方法名 __autoload()
? 快速取得對象名稱并自動載入進當前頁面


==========================================================================
-------------------------------------------------------------------------------
PHP100視頻教程26:制作自己的PHP+MYSQL的類
-------------------------------------------------------------------------------
1、鞏固學習常用MYSQL函數

2、使用類封裝常用SQL操作,簡化代碼

3、認識面向對象在開發中的重要作用
1、private 私有屬性關鍵字
2、__construct 初始化方法名
3、常用mysql函數
4、常用SQL語句


-------------------------------------------------------------------------------
PHP100視頻教程27:PHP模板引擎Smarty入門使用
-------------------------------------------------------------------------------
PHP100視頻教程28:PHP模板引擎Smarty的變量操作符
-------------------------------------------------------------------------------
?????? a? 什么是Smarty變量操作符
?????????? php模板引擎smarty內置的一些操作函數,我們稱之為變量操作符,變量操作符
?????????? 可用于操作變量,自定義函數和字符。(跟我PHP中常用的PHP內部函數類似
?????????? 他可以幫助我們完成很多比較實用的功能,如:首字母大寫,拆分,替換,截取…
?????????? 更像是我們提前寫好的一些PHP常用類...

?????? b? 如何使用Smarty變量操作符
????????? 語法中使用"|"應用變量操作符,多個參數用":" 分隔開來
?????????? {$name|truncate:10:"..."}? 截取前十個字符 多則用...代替
??????????? capitalize [首字母大寫]
?????????? count_characters [計算字符數]
?????????? cat [連接字符串]
?????????? count_paragraphs [計算段落數]
?????????? count_sentences [計算句數]
?????????? count_words [計算詞數]
?????????? date_format [時間格式]
??????????? efault [默認]
??????????? escape [轉碼]
??????????? indent[縮進]
??????????? lower[小寫 ]
??????????? nl2br[換行符替換成<br />]
??????????? regex_replace[正則替換]
??????????? replace[替換]
??????????? spacify[插空]
??????????? string_format[字符串格式化]
??????????? strip[去除(多余空格)]
??????????? strip_tags[去除html標簽]
???????????? truncate[截取]
???????????? upper[大寫]
???????????? wordwrap[行寬約束]



?????? c??? 常用的20個變量操作符

-----------------------------------------------------------------------------------????????? ?
PHP100視頻教程29:PHP模板引擎Smarty內置函數
PHP100視頻教程30:PHP模板引擎Smarty緩存應用
-----------------------------------------------------------------------------------






-----------------------------------------------------------------------------------
PHP100視頻教程31:PHP在線編輯器fckeditor應用
-----------------------------------------------------------------------------------
在線排版,方便用戶和編輯操作,圖片,文字,視頻等功能生成對應的
HTM代碼的編輯器,fckeditor 是其中一個做的比較好的一類編輯器
$sBasePath = $_SERVER['PHP_SELF'] ;
$sBasePath = dirname($sBasePath).'/';

$oFCKeditor = new FCKeditor('FCKeditor1') ;
$oFCKeditor->BasePath?? = $sBasePath ;
dirname ,取得路徑目錄命的函數
$oFCKeditor->Create();? 創建一個窗口出來
$oFCKeditor->Value='初始值';
















-----------------------------------------------------------------------------------
PHP100視頻教程32:PHP5中Cookie與 Session詳解
PHP100視頻教程33:PHP5中圖片驗證碼的制作(上)
PHP100視頻教程34:PHP5中圖片中文驗證碼(下)
PHP100視頻教程35:PHP5文字圖片混合水印與縮略圖
PHP100視頻教程36:PHP中正則表達式學習及應用(一)


-----------------------------------------------------------------------------------
①a-z A-Z _ 0-9? //最常見的字符
②(abc) (skd)? //用圓括號包含起來的單元符合
③[abcs] [^abd] //用方括號包含的原子表,原子表中的^代表排除或相反內容
④轉義字符
? \d? 包含所有數字[0-9]
? \D? 除所有數字外[^0-9]
? \w? 包含所有英文字符[a-zA-Z_0-9]
? \W? 除所有英文字符外[^a-zA-Z_0-9] ?
? \s?? 包含空白區域如回車、換行、分頁等 [\f\n\r]
……


兩種正則使用的區別
preg('#abc#','adbjdjkdjfkdsajfdsakjf',#arr)
preg('/abc/','adbjdjkdjfkdsajfdsakjf',#arr)
ereg('abc','adbjdjkdjfkdsajfdsakjf',#arr)

()括號括起來表示整體匹配
?[] 方括號匹配其中任意的
\\? 兩個反斜杠 代表前面括號里面輸入什么,后面括號里就輸入什么。
就是調用第一個小括號中里面的內容,//2就是第二個小括號的,以此類推。。。
-----------------------------------------------------------------------------------
PHP100視頻教程37:PHP中正則表達式學習及應用(二)
PHP100視頻教程38:PHP中正則表達式學習及應用(三)
——————————————————————————————————正則表達式中的“模式修正符”
?1、運算順序? ?
依然遵循從左到→右的運算規則
( )? 圓括號因為是內存處理所以最高
* ? +? { } 重復匹配內容其次
^ $ \b 邊界處理第三
|? 條件處理第四
最后按照運算順序計算匹配


?2、模式修正符
模式修正符是為正則表達式增強和補充的一個功能,使用在正則之外
/ 正則 / U? ?
i 正則內容在匹配時候不區分大小寫(默認是區分的)
m 在匹配首內容或者尾內容時候采用多行識別匹配
S 將轉義回車取消是為單行匹配如. 匹配的時候
x 忽略正則中的空白
A 強制從頭開始匹配
D 強制$匹配尾部無任何內容 \n
U 禁止貪婪匹配 只跟蹤到最近的一個匹配符并結束,
??? 常用在采集程序上的正則表達式

/n? 就是回車
——————————————————————————————————
PHP100視頻教程39:PHP中正則表達式學習及應用(四)
PHP100視頻教程40:PHP中開發自己的-UBB代碼
PHP100視頻教程41:PHP站內搜索、多關鍵字、加亮顯示
PHP100視頻教程42:PHP通過mail()或Socket發郵件
PHP100視頻教程43:PHP中MVC學習之ThinkPHP(上)
PHP100視頻教程44:PHP中MVC學習之ThinkPHP(下)
PHP100視頻教程45:如何用PHP開發一個完整的網站
PHP100視頻教程46:PHPMyAdmin功能操作詳解
PHP100視頻教程47:PHP輸出CSV和EXCEL兩種簡單的方法
PHP100視頻教程48:Ajax+PHP快速上手及應用
——————————————————————————————————
xmlHttp = new XMLHttpRequest();
這對于規范的Js支持的瀏覽器來講是沒錯的
恰恰相反IE卻就不支持,所以沒辦法我們只能
做個判斷再創建一個IE支持的
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');

——————————————————————————————————

PHP100視頻教程49: Ajax+PHP打造等待進度條效果(二)

——————————————————————————————————




——————————————————————————————————

PHP100視頻教程50: Ajax+PHP檢查用戶名或郵件(三)
PHP100視頻教程51:PHP+MYSQL會員系統的開發(上)
——————————————————————————————————————————————————

1、學會使用常量提高md5安全性
2、Cookie/ Session 少用明文信息
3、Session安全性要大于Cookie
4、使用Cookie/ Session讀取信息
????? 盡量增加判斷信息
5、Cookie/ Session內容要精簡
6、對于錯誤信息及時銷毀Cookie/ Session



——————————————————————————————————————————————————
PHP100視頻教程52:PHP+MYSQL會員系統的開發(下)
——————————————————————————————————————————————————————————————————————————————————————————————————無交叉,實現順序權限控制,可實現多層,也就是上一層
永遠大于下一層的權限,常用在留言板,CMS、后臺
論壇等程序當中,不適合在ERP,OA等類型系統中使用
設置技巧:

?? 為了實現權限的無限層級配置,最高層應使用最小值來
做權限標志位,方便下行可用無線累計的空間


——————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程53:PHP如何防止注入及開發安全

——————————————————————————————————————————————————————————————
1、PHP注入的基本原理
? 程序員的水平及經驗也參差不齊,相當大一部分程序員在編寫代碼的時候,沒有對
用戶輸入數據的合法性進行判斷,使應用程序存在安全隱患。用戶可以提交一段數據
庫查詢代碼,根據程序返回的結果,獲得某些他想得知的數據,這就是所謂的
SQL Injection,即SQL注入。 受影響的系統:對輸入的參數不進行檢查和過濾的系統

2、防止注入的幾種辦法

function inject_check($sql_str) {
?? return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str);???? // 進行過濾
}
Addslashes(需要被過濾的內容)

3、PHP其他地方安全設置

——————————————————————————————————————————————————————
PHP100視頻教程54:Apache Rewrite 擬靜態配置
———————————————————————————————————————————————————————————————

1、mod_rewrite 簡介和配置
Rewirte主要的功能就是實現URL的跳轉和隱藏真實地址,基于Perl語言的正則表達式規范。平時幫助我們實現擬靜態,擬目錄,域名跳轉,防止盜鏈等
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 規則的使用

RewriteEngine on??? 啟動rewrite引擎,所有的rewrite之前必須啟用這一句
RewriteCond %{HTTP_HOST} !^www.php100.com [NC]?? 地址重寫? !不等于 ^最開始? [NC] 規則修正符,不區分大小寫
RewriteRule ^/(.*) http://www.php100.com/ [L]?? rewrite 規范
--------
RewriteEngine on ?
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1 ?
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]
?
3、mod_rewrite 規則修正符

1) R 強制外部重定向??? -- 跳轉到真實地址
2) F 禁用URL,返回403HTTP狀態碼。? -- HTTP的一個協議403
3) G 強制URL為GONE,返回410HTTP狀態碼。?? -- HTTP返回錯誤頭,這個頁面永久消失
4) P 強制使用代理轉發。
5) L 表明當前規則是最后一條規則,停止分析以后規則的重寫。? --停止分析以后的規則
6) N 重新從第一條規則開始運行重寫過程。
7) C 與下一條規則關聯8) T=MIME-type(force MIME type) 強制MIME類型

8)T
9) NS? 只用于不是內部子請求
10) NC 不區分大小寫
11) QSA 追加請求字符串
12) NE 不在輸出轉義特殊字符?? \%3d$1? 等價于 =$1




(.*)? 代表任何格式

支持.htaccess
配置?? AllowOverride all
Options? all 可以改為all
————————————————————————————————————————————————————————————————
PHP100視頻教程55:PHP5中使用PDO連接數據庫
——————————————————————————————————————————————————————————————

1、PDO? 簡介 和 配置
PDO(PHP Data Object) 是PHP 5 中加入的東西,是PHP 5新加入的一個重大功能,因為在PHP 5以前的
php4/php3都是一堆的數據庫擴展來跟各個數據庫的連接和處理,什么 php_mysql.dll、php_pgsql.dll、
php_mssql.dll、php_sqlite.dll等等

PHP6中也將默認使用PDO的方式連接,mysql擴展將被作為輔助
兩個冒號(::)是對類中的方法的靜態引用
也就是不需要實例化對象,直接通過類名對類中的方法進行引用

2、PDO? 如何連接 MYSQL
new PDO(“連接信息”, 'root', '', array(PDO::ATTR_PERSISTENT => true));

3、PDO 常用方法及其使用
PDO::query() 主要是用于有記錄結果返回的操作,特別是SELECT操作

PDO::exec() 主要是針對沒有結果集合返回的操作,如INSERT、UPDATE等操作

PDO::lastInsertId() 返回上次插入操作,主鍵列類型是自增的最后的自增ID

PDOStatement::fetch() 是用來獲取一條記錄 ?

PDOStatement::fetchAll() 是獲取所有記錄集到一個中 ?




——————————————————————————————————————————————————————————————

PHP100視頻教程56:制作PHP安裝程序的原理和步驟
——————————————————————————————————————————————————————————————————————————————————————————————————1、制作PHP安裝程序的原理和步驟
2、制作安裝用到的PHP函數
3、制作安裝的注意事項
? is_writable() 檢查文件是否可寫,用來判斷文件權限, 同類函數還有is_readable() 檢查文件是否可讀,返回布爾值
? is_writable() 檢查文件是否可寫,用來判斷文件權限, 同類函數還有is_readable() 檢查文件是否可讀,返回布爾值 ?
?fopen () 文件操作函數,打開一個文件或新建 fwrite () 文件操作函數,寫入內容到文件 rename() 文件操作函數,給文件改名


————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程57:PHP備份數據庫原理和方法
——————————————————————————————————————————————————————————————————————————————————————————————————
1、PHP備份數據庫的原理
2、PHP中mysql相關函數
3、備份時候的注意事項
mysql_list_tables() 表查詢函數,類似mysql_query() 函數

mysql_fetch_field() 字段信息函數,返回句柄

Name 字段的名稱
Table 字段所屬數據表的名稱
Type 字段的類型
max_length 字段的最大長度
not_null 字段是否不能為空,是,則這一項的值為1
primary_key 字段是否為主鍵,是,則這一項的值為1
unique_key 字段是否為unique鍵,是,則這一項的值為1
multiple_key 字段是否不為unique鍵,是,則這一項的值為1
Numeric 字段是否為數字型,是,則這一項的值為1
Blob 字段是否為blob型,是,則這一項的值為1
Unsigned 數字型的字段是否為unsigned的,是,則這一項的值為1
Zerofill 數字型的字段是否為zerofilled的,是,則這一項的值為1


備份數據庫主要備份 數據庫結構和? 數據庫數據。

1、注意數據庫的大小,過大或者過多的表分段處理
2、生成的SQL文件名或者存放不易被猜到
3、備份生成文件可以表或者自動為單位保存
4、可以使用ZIP組件壓縮生成的文件以便保持







——————————————————————————————————————————————————————————————
PHP100視頻教程58:快速設計一個企業網站之BIWEB
——————————————————————————————————————————————————————————————
1、企業網站都有哪些基本功能
2、如何寫企業網站評估報告
3、神奇的BIWEB積木式建站系統


——————————————————————————————————————————————————————————————
PHP100視頻教程59:關于BIWEB常見問題和結構分析
PHP100視頻教程60:PHP與數據庫代碼開發規范
PHP100視頻教程61:PHP+Mysql新聞系統的開發一
——————————————————————————————————————————————————————————————
1、設計新聞系統簡單的UML模
UML設計工具 powerdesigner? diagramdesigner
2、設計所需的環境、模塊、模板樣式
3、數據庫UML設計和創建數據庫結構

——————————————————————————————————————————————————————————————
PHP100視頻教程62:PHP+Mysql新聞系統的開發二
——————————————————————————————————————————————————————————————
1、建立底層結構和文件夾
?? 構建文件夾結構,萬能擴展結構? 相互連接文件和配置

2、連接相關類和配置數據庫


3、調試后臺和登錄功能

————————————————————————————————————————————————————————
PHP100視頻教程63:PHP+Mysql新聞系統的開發三(上)

————————————————————————————————————————————————————————

————————————————————————————————————————————————————————
PHP100視頻教程64:PHP+Mysql新聞系統的開發四
PHP100視頻教程65:PHP+Mysql新聞系統的開發五
PHP100視頻教程66:PHP+Mysql新聞系統的開發六
PHP100視頻教程67:PHP+Mysql新聞系統的開發七
——————————————————————————————————————————————————————————
注意事項:

???? 1、配置模板圖片,Css路徑
???? 2、盡可能的將變量寫入數組
???? 3、模板文件名盡可能的與PHP文件相關

???? 4、為了方便使用書寫通用調用方法,將header.php? footer.php獨立出來





——————————————————————————————————————————————————————————
PHP100視頻教程68:PHP+Mysql新聞系統的開發八
PHP100視頻教程69:PHP+Mysql新聞系統的開發九
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 數據庫事務標準? SQLite 輕型的數據庫
PHP+SQLite——>ASP+Access
SQLite的數據庫是個獨立的文件,和程序一樣保持在web目錄下即可。
1、PHP 中 SQLite 簡介 和 特點

特點:
??? 1、SQLite數據庫足夠小, 大致3萬行C代碼, 共計250K左右
??? 2、配置簡單,支持各類平臺:Windows/Linux/Unix/MAC
??? 3、最大的數據庫支持2T???? ------- 1T = 1024G
??? 4、SQLite支持無數據庫類型 (為提高效率不建議)
??? 5、SQLite完全開源,懂得C的朋友可以下載源碼完善它

2、在PHP中如何開啟使用 SQLite
在PHP 5.1.x 以后自帶了 SQLtie 數據庫功能,只需要在配置中開啟即可

PHP.ini
?
;extension=php_sqlite.dll
在PHP 5.2.x 以后自帶了 SQLtie PDO數據庫功能,只需要在配置中開啟即可

PHP.ini
?
;extension=php_pdo_sqlite.dll

3、創建SQLite 數據庫的兩種方法
使用PHP函數直接開啟建立
通過SQLiteManager來創建管理 SQLite 數據庫文件



4、SQLiteManager 簡單實用和配置
————————————————————————————————————————————————————
PHP100視頻教程72:PHP+SQLite 常用函數及應用
——————————————————————————————————————————————————————————
sqlite_open(數據庫名,模式,錯誤信息)? 數據庫名 有則連接,無則自動建立;模式 對數據庫操作的讀寫模式默認0666? 返回數據庫錯誤信息
sqlite_query(數據庫連接參數,SQL參數)
sqlite_num_rows(SQL返回句柄)
sqlite_last_insert_rowid(數據庫連接參數)
sqlite_fetch_array(SQL返回句柄,返回索引)

返回索引:
SQLITE_ASSOC 只會返回關聯索引(有名稱字段)而
SQLITE_NUM 只會返回數字索引(有序字段數)。
SQLITE_BOTH 會同時返回關聯和數字索引。
SQLITE_BOTH 是本函數的默認值



?
——————————————————————————————————————————————————————————
PHP100視頻教程73:PHP MemCached高級緩存配置
——————————————————————————————————————————————————————————————
memcached.exe? -d? install
memcached.exe? -d? start
telnet?? 11211

exit
quit
——————————————————————————————————————————————————————————————
PHP100視頻教程74:PHP MemCached 高級緩存應用
——————————————————————————————————————————————————————————————————————————————————————————————————

——————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程75:Zend framework 配置與調試
————————————————————————————————————————————————————————
——————————————————————————————————————————|
ZF? 需要5.2.0以上才可以運作
PDO
rewrite
基于MVC
有豐富和開源的組件
application?? MVC文件夾
?? controllers? 控制文件夾
?? models?????? 模塊文件夾
?? views?? 模板文件夾


library
?? zend?? zend文件夾
public??? 公共配置文件夾
?
缺點:配置復雜,門檻較高,OOP,MVC? ?




————————————————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程76:Zend framework 數據庫操之讀取與插入
PHP100視頻教程77:Zend framework數據庫操作之編輯和視圖函數
PHP100視頻教程78:PHP+Flash多文件異步上傳 swfupload
————————————————————————————————————————————————————————
1、 多文件選取異步上傳的原理
2、 swfupload 介紹 和 相關使用 3、實例操作和實現數據庫插入
3、實例操作和實現數據庫插入


getcwd()? 獲取絕對路徑。
move_uploaded_file

————————————————————————————————————————————————————————
PHP100視頻教程79:PHP上傳RAR壓縮包并解壓目錄
————————————————————————————————————————————————————————system() 輸出并返回最后一行shell結果。 exec() 不輸出結果,返回最后一行shell結果 passthru() 只調用命令,把運行結果原樣地輸出 new com()? 系統預定義com類,根據需要任意選擇內置方法?? ?

相同點:都可以獲得命令執行的狀態碼

$obj=new com("wscript.shell");
?? $obj->run(“所要執行的命令內容”);


———————————————————————————————————————————————————————
PHP100視頻教程80:ADODB PHP 數據庫萬能引擎類(上)
————————————————————————————————————————————————————————

ADODB 是一種兼容的各類數據庫應用程序接口(API),支持的數據庫種類非常地多,
例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro,
Access, ADO, Sybase, DB2 以及一般的 ODBC

特點:

1、ADODB 在PHP中規范各類數據庫的鏈接和使用
2、ADODB 幫助我們在PHP提供開發效率和快速轉換各類數據庫
3、ADODB 使用相對簡單,容易上手
4、ADODB 寫作要求有時要求比較嚴謹,注意大小寫。
5、ADODB 內置函數比較豐富可以快速和自動的幫助我們完成一些比較復雜的工作

————————————————————————————————————————————————————————
PHP100視頻教程81:ADODB PHP 數據庫萬能引擎類(下)
——————————————————————————————————————————————————————————————

1、 PHP ADODB 地址方式連接數據庫
$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 對象方式獲取數據庫內容
?? $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代碼方式顯示內容
?? 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 實現內容自動分頁功能
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開發通用采集入庫程序
——————————————————————————————————————————————————————————————————————————————
file_get_contents() 遠程文件獲取函數,用來獲取遠程頁面內容

preg_match_all()進行全局正則表達式匹配 用于匹配列表

preg_match?? ()進行正則表達式匹配 用于匹配終端

preg_replace ()進行正則表達式替換 用于過濾終端

復習正則表達式 、 正則修正符用法。

##? //? 開始和結束標志

——————————————————————————————————————————————————————————————————————————————
PHP100視頻教程83: PHP開發通用采集入庫程序二
PHP100視頻教程84:PHP開發通用采集入庫程序三
PHP100視頻教程85:PHP 圖表類 JPGraph 入門配置與應用
PHP100視頻教程86:PHP JPGraph 中文字體和背景設置
PHP100視頻教程87:PHP 之 CURL 傳輸與獲取功能

——————————————————————————————————————————————————————————————————————————————


1、什么是CURL且能實現什么功能?
curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, HTTP上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳等等,功能十分強大。
PHP中常用都實現那些功能:

?? 1、實現遠程獲取和采集內容
?? 2、實現PHP 網頁版的FTP上傳下載
?? 3、實現模擬登陸
?? 4、實現接口對接(API),數據傳輸等
?? 5、實現模擬Cookie等

?2、PHP 如何使用CURL功能
默認情況下PHP是不支持CURL功能的,需要在PHP.ini中開啟該功能
1? 整個操作過程中第一步是用cur_init()函數進行初始化
?? $curl = curl_init(‘www.php100.com’); 2? 然后,用curl_setopt()函數進行設置選項。 3? 設置后,進行執行事務 curl_exec($curl); 4? 最后關閉curl_close();
$curl = curl_init(); //初始化一個 cURL 對象

curl_setopt($curl, CURLOPT_URL, "http://www.php100.com");
//設置你需要抓取的URL

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。

$data = curl_exec($curl); //運行cURL,請求網頁

curl_close($curl); //關閉URL請求

?3、使用PHP CURL實現傳輸和獲取功能

$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模擬登陸并獲取數據
PHP100視頻教程89:PHP XML 的 DOMDocument 讀取功能
PHP100視頻教程90:PHP DOM 創建生成多功能 XML文件
PHP100視頻教程91:PHP修改和刪除XML內容的原理和方法
——————————————————————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————————————————————
PHP100視頻教程92:在線支付接口之PHP支付寶接口開發
————————————————————————————————————————
1、什么是支付接口
? 支付接口一般是第三方提供的代收款/付款的平臺,可以通過支付接口幫助企業 或個人利用一切可以使用的支付方式(手機、銀行卡、會員卡等)產生交易。 常見支付平臺:支付寶、塊錢、云網支付、貝寶、財付通(QQ)等

2、實現在線支付接口的原理和流程
3、學習支付寶接口及時到賬開發和配置

————————————————————————————————————————
PHP100視頻教程93:在線支付接口之PHP云網接口開發
PHP100視頻教程94:SVN (Subversion) 配置與安裝調試
———————————————————————————————————————

anon-access=read? 匿名用戶可以訪問,前面不要有空格
密碼設置為明文? username=password的格式

authz權限設置中 adminss=harry,nash 逗號分隔的格式
adminss=rw? 賦予讀寫權限
啟動svn的命令
svnserve.exe? -d? -r? D:\svn
????????????? 安全模式 只讀

瀏覽? svn://127.0.0.1

————————————————————————————————————————————————————————————————————
PHP100視頻教程95:SVN (Subversion) 應用與技巧
——————————————————————————————————
1、如何增加SVN到windows服務中并自動啟動
?? sc create svnserve binpath= "C:\...\bin\svnserve.exe --service --root D:\svn"
?? Sc delete svnserve


2、SVN 控制器的文件的鎖定和操作
3、SVN 查看歷史文件并對比差異內容
4、SVN 處理更新過的新版本文件
5、SVN 導出內容和文件方法和注意事項


——————————————————————————————————
PHP100視頻教程96:PHP程序員經典面試&筆試題目解析(上)
PHP100視頻教程97:PHP程序員經典面試&筆試題目解析(下)

PHP100視頻教程98:PHP會員權限交叉多類型的控制(上)
————————————————————————————————————————————————————

1、會員交叉權限控制實現的原理
在PHP中要判斷一個數在某些數范圍內就可以使用 & 運算符。

& 是位運算,不是 && 邏輯運算 (位運算符:&? |? ^? ~)

例如:7=4|2|1 ? ===》?? $sy = 4|2|1

這里的或是指的可以能包含的內容值,在位運算里其實可以簡單理解成 7=4+2+1,

用 & 來操作,可以知道7&4、7&2、7&1都是真的,而如果7&8則是假的。

我們還可以用^ 來從包含的值內去除:如 $ny = $sy ^ 2 ?

這樣一來,$ny 只有 4|1 如果做判斷也就只有 $ny&4、$ny&1

2、利用PHP位運算二進制實現權限控制

常量設置成功后,不能被修改。
decbin()? 轉換為二進制

————————————————————————————————————————————————————

PHP100視頻教程99:PHP會員權限交叉多類型的控制(下)
———————————————————————————————————————
1、會員與會員組的關系
2、設計會員權限系統的結構解析
array_sum($_POST[gr]);
———————————————————————————————————————
PHP100視頻教程100:PHP程序員的學習之路和未來職業規劃
PHP100視頻教程101:PHP5.3 Xdebug 調試器配置與應用
————————————————————————————————————————————————
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中有區別的。
請使用絕對路徑
phpino();?? 最下面底部會出現Xdebug的相關信息,說明沒有安裝成功,需要檢查路徑和下載的版本問題。
vc6 是apache中
vc9是iis中
同時注意是32位,還是64位
————————————————————————————————————————————————
PHP100視頻教程102:PHP5.3 Xdebug 錯誤分析與性能調試
PHP100視頻教程103:JQuery 之 Javascript 基礎(一)
PHP100視頻教程104:JQuery 之 Javascript 基礎(二)
PHP100視頻教程105:JQuery 之 Javascript 基礎(三)
PHP100視頻教程106:JQuery 之語法模式與開發基礎
PHP100視頻教程107:JQuery 之選擇器、事件器詳解
———————————————————————————————————————————————————————————Jquery選擇器的各種用法
$(this)?? ??? ??? ?當前元素
$("p")?? ??? ??? ?所有<p>元素
$("input")?? ??? ?所有input元素
$(".intro")?? ??? ?所有 class=“intro” 的元素
$("p.intro")?? ??? ?所有 class="intro" 的<p>元素
$("#intro")?? ??? ?id="intro" 的第一個元素
$("ul > li") ?? ??? ?ul下的所有li節點
$("ul li:first")?? ??? ?每個 <ul> 的第一個 <li> 元素
$("[href$='.jpg']")?? ?所有帶有以 ".jpg" 結尾的 href 屬性的屬性
$("div#intro .head")?? ?id="intro" 的 <div> 元素中的所有 class="head" 的元素
$(li[a:contains('Register')]")?? ??? ?內容包含Register的<a>元素
$("input[@name=bar]")?? ??? ??? ?name是bar的<input>元素
$("input[@type=radio][@checked]")?? ?type是radio的<input>元素
$(“li”).not(“ul”)?? ??? ??? ??? ?li下沒有包含ul節點的節點元素
$("span[@id]")?? ??? ??? ??? ?包含id屬性的<span>元素
$("[@id=span1]")?? ??? ??? ?id為span1的節點元素


$(元素). 事件( 事件屬性);
Jquery事件器的介紹
$(元素). 事件( 事件屬性);
$(selector).click()?? ??? ?被選元素的點擊事件
$(selector).dblclick()?? ??? ?被選元素的雙擊事件
$(selector).focus()?? ??? ?被選元素的獲得焦點事件
$(selector).mouseover()?? ??? ?被選元素的鼠標懸停事件
$(selector).css();?? ??? ?被選元素的CSS事件
$(selector). hide();?? ??? ?被選元素的隱藏事件
$(selector). show('slow');?? ??? ?被選元素的顯示事件
——————————————————————————————————————————————————
Dom節點操作
$(“a”).addClass(“red”) ??? ??? ?為所有<a>增加class=”red”
$(“a”).removeClass(“red”) ??? ?為所有<a>去掉class=”red”
$(“li”).append(“BB!”) ??? ??? ?為<li>增加”BB!”innerHTML
——————————————————————————————————————————————————————————
執行事件


————//hover是在執行完第一個函數后再執行第二個
$(“p”).hover(function(){ ?? ??? ?
? $(this).addClass("hover");
},function(){
? $(this).removeClass("hover");
});
//toggle第一次點擊執行第一個函數,再點擊執行第二個
$(“p”).toggle(function(){?? ??? ?
$(this).addClass("selected");?? ?
},function(){
? $(this).removeClass("selected");
});
—————————————————————————————————————————————————
PHP100視頻教程108:JQuery之各類動畫效果的實現
PHP100視頻教程109:JQuery 之 Ajax 開發詳解


總結

以上是生活随笔為你收集整理的《php100 视频教程》笔记心得 张恩民 php100 (张迅雷闪击php系列)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。