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

歡迎訪問 生活随笔!

生活随笔

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

php

(58)PHP开发

發(fā)布時間:2023/11/30 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (58)PHP开发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
LAMP 0、使用include和require命令來包含外部PHP文件。 使用include_once命令,但是include和include_once命令相比的不足就是這兩個命令并不關(guān)心請求的文件是否實際存在,如果不存在,PHP解釋器就會直接忽略這個命令并且顯示一個錯誤消息,而程序繼續(xù)運行。 解決以上問題的方式就是使用require命令:這個命令當PHP找不到文件時就會直接提示錯誤信息并終止程序運行,最好的解決方法是使用require_once命令,也會只使用這種方式。 一般使用命令來包含插件或者是文件的時候要注意作用域的關(guān)系,一般都是在文檔程序的開頭插入,而很少在函數(shù)的內(nèi)部插入。 強烈推薦require_once命令 ? 1、區(qū)分一個網(wǎng)站是否是動態(tài)網(wǎng)站的主要關(guān)鍵點是:是否采用了基于數(shù)據(jù)庫的開發(fā)模式。動態(tài)網(wǎng)站就是使用戶自主創(chuàng)造,根據(jù)用戶的不同選擇來顯式不同的頁面。 2、開發(fā)一個動態(tài)網(wǎng)站需要的語言及技術(shù):(1)客戶端瀏覽器(2)html(3)css(4)javascript(5)apache(6)php(7)mysql 3、什么是HTML超文本標記語言:想向網(wǎng)站上放東西就選擇HTML,而普通的文本只能使用文本編輯器。 4、CSS用來設(shè)置改變頁面布局,美化界面,比如改寫字體、背景、外觀改變,HTML只是把東西放在上面了,還比較亂。 5、JavaScript是用來進行頁面特效的開發(fā),比如滾動、提醒之類的,完成用戶與瀏覽器的交互。 6、Aparch服務(wù)器:WEB服務(wù)器是用來保存并發(fā)布網(wǎng)站的服務(wù)器。 7、PHP是后臺腳本編程語言,是服務(wù)器端進行業(yè)務(wù)邏輯的處理工作,相當于掛載到web服務(wù)器工作。 8、Mysql數(shù)據(jù)庫,負責存儲和管理網(wǎng)站數(shù)據(jù)內(nèi)容。 9、URL(統(tǒng)一資源定位符)的組成部分:協(xié)議(http/ftp/https)+域名(尋找到某個主機)+端口(http默認端口是80,web服務(wù)器,存儲發(fā)布網(wǎng)站的端口)+某個目錄下的index.html文件+附加資源(eg:?id=10&username=asdh&passworld=dshfds)

?

10、web服務(wù)器的原理就是一個請求和響應(yīng)的模式,當我們在瀏覽器中有一個向服務(wù)器發(fā)出的請求后,我們的web服務(wù)器接收到后就會把它所管理的一個目錄下對應(yīng)文件直接發(fā)回響應(yīng)給我們的客戶端瀏覽器,瀏覽器把服務(wù)器發(fā)回來的代碼、資源、文件進行解釋顯示即可。 11、因為我們的Aparch服務(wù)器只能管理目錄以及目錄下的相關(guān)文件資源,當瀏覽器客戶端進行請求的時候只需要把這些文件回應(yīng)給瀏覽器,然后由瀏覽器去解釋即可;但是當瀏覽器請求的是.php文件的時候,Aparch服務(wù)器是沒有辦法解釋的,這時候就需要使用應(yīng)用服務(wù)器(PHP應(yīng)用服務(wù)器、Asp應(yīng)用服務(wù)器、Jsp應(yīng)用服務(wù)器等);但是這些應(yīng)用服務(wù)器是不能單獨工作的,它像一個外掛一樣依靠Aparch服務(wù)器工作,比如我們在Aparch服務(wù)器中設(shè)定,遇到PHP后綴文件的時候就直接交給PHP應(yīng)用服務(wù)器去完成,而不是直接響應(yīng)給瀏覽器。所以啟動了Aparch服務(wù)器就啟動了PHP應(yīng)用服務(wù)器。只要是服務(wù)器端的后臺業(yè)務(wù)就交給PHP應(yīng)用服務(wù)器處理,處理完成后告訴Aparch服務(wù)器,Aparch服務(wù)器將處理好的數(shù)據(jù)再轉(zhuǎn)換為html/css/javascript代碼響應(yīng)給瀏覽器解析顯式。 12、我們這里選用Linux+Aparch+Mysql+PHP=LAMP(開發(fā)效率高、開源、安全性高、性能穩(wěn)定、價格成本低、執(zhí)行靈活、簡易型) ? ? ? ? ? ? ? ? ? ? ? ? ? ? Unix+Tomcat+Oracle+JSP=J2EE ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows+IIS+SQLserver+ASP=ASP.NET 13、PHP是一種嵌入在html中的腳本語言。html配合css進行布局美化。css是網(wǎng)頁排版,使界面更加友好;JavaScript也可以嵌入到html中的語言,具有交互性網(wǎng)頁設(shè)計。html是web頁面的描述性語言。 14、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???HTML基礎(chǔ) (1)html就是向網(wǎng)頁中添加東西的。超文本就是除了文字外可以添加圖片、表格、文本、鏈接、視頻等元素;所謂標記語言就是標記添加上具體什么東西。html文件的后綴名.html或.htm。每個標簽符號都是一個命令,這個命令告訴瀏覽器怎么去解釋執(zhí)行顯示。 (2)css就是層疊樣式表,是一種用來表現(xiàn)html樣式的語言,它不能獨立使用,沒有html就沒有css,它用來控制html里面內(nèi)容的外觀,布局。能夠改變字體大小、背景顏色、文本間距、位置、邊框、列表等,也是用瀏覽器來解釋的。層疊樣式就是指對某一個東西的操作能不斷疊加,既能實現(xiàn)這樣一個功能樣式,也能實現(xiàn)另一個功能樣式,,,,,,多個樣式對一個html標記進行修飾。 (3) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? html語法規(guī)則: 0、元素:是一個整體、是一個對象。eg:<a href="www.baidu.com">百度地址</a>,元素也就是說一個完整的標簽。 使用標記來描述元素的,html文檔就是由標記和元素組成的文件。 1、成對標簽(標記):<標記名></標記名>,也成為容器 2、獨立的標簽:<br> 3、標簽中也可以嵌套其他的標記:<tag1><tag2></tag2></tag1> 4、帶屬性的標簽,不同屬性之間用空格隔開:<tag pro="value" pro1="value1"></tag> 5、既帶屬性又帶內(nèi)容的標簽:<tag pro="value" pro1="value1">content</tag> 注意:在標記中使用:【屬性=屬性值】,多個屬性之間使用空格分開,屬性的值可以使用單引號,雙引號(推薦,標準格式),不加引號三種 屬性的作用:屬性是對標記功能的行為修飾或者說是功能擴展,html中的標記每個屬性幾乎都是可選的。 6、html標記和屬性名都是不區(qū)分大小寫的(推薦使用小寫)。 7、html文檔注釋:<!--這是一個注釋--> ? 不能在注釋中再包含注釋,也不能在標記中使用注釋,在注釋掉的標記之后還是一個結(jié)構(gòu)完整的文檔。 8、任何回車和空格在源代碼中都不起作用。使用回車或者空格進行代碼排版。 9、html字符實體:在 HTML 中,某些字符是預(yù)留的。在 HTML 中不能使用小于號(<)和大于號(>),這是因為瀏覽器會誤認為它們是標簽。如果希望正確地顯示預(yù)留字符,我們必須在 HTML 源代碼中使用字符實體(character entities)。如需顯示小于號,我們必須這樣寫:&lt; 或 &#60;提示:使用實體名而不是數(shù)字的好處是,名稱易于記憶。不過壞處是,瀏覽器也許并不支持所有實體名稱(對實體數(shù)字的支持卻很好)。 10、html中顏色的設(shè)置:設(shè)置顏色時可以是顏色的關(guān)鍵字(white、red、blue、green、gray、yellow等)或者是RGB(red、green、blue)的數(shù)字格式(大部分使用以"#"開頭的十六進制數(shù)字組合,顏色數(shù)字大概為:255*255*255種顏色) (4) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?html具體標簽使用 1、html的主體架構(gòu):代碼分為3部分編寫:頭標簽head、體標簽body、html標簽 <html> ? ? ?是網(wǎng)頁文件的最外層標記,是html文件的開始點 ? ??<head> ?頭標簽里面的內(nèi)容不會顯式在瀏覽器的窗口中,一般包括頁面的基本描述,整個網(wǎng)頁的公共屬性 ? ? ??</head> ? ? ??<body> 體標簽是網(wǎng)頁文件的主體部分,是網(wǎng)頁的正文,比如文字、圖片、鏈接、表單等 ? ? ??</body> </html> ?是html文件的結(jié)束點 2、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<head>content</head>;其中頭之間可以放4個標簽: (1)<title></title>標簽:只能有一個,用來定義網(wǎng)頁的標題,顯示在瀏覽器的標題欄上,有利于搜索引擎(也是在搜索引擎中的標題) (2)<base/>標簽:只能有一個,基底網(wǎng)址標記,用來設(shè)定瀏覽器中資源文件的絕對路徑,網(wǎng)頁中的文件只需要寫下文件的相對路徑即可,這個路徑就是base標簽設(shè)定下的路徑 (3)<link>標簽:可以有多個,用來設(shè)置外部文件的鏈接標記,用來確定本頁面與其他文檔之間的關(guān)系,自動讀取加載相連接的文件 (4)<meat>標簽:可以有多個, META標簽用來描述一個HTML網(wǎng)頁文檔的屬性,例如作者、日期和時間、網(wǎng)頁描述、關(guān)鍵詞、頁面刷新等。該標簽有兩種用法: 1)、<meat name="" ? content="">:Name用于在網(wǎng)頁中加入一些關(guān)于網(wǎng)頁的描述信息,網(wǎng)頁的關(guān)鍵字,網(wǎng)頁描述信息。name屬性不是隨意指定的值,有一些固定的值:eg:Keywords:網(wǎng)頁關(guān)鍵字;Description:網(wǎng)頁的描述;Robots:index,noindex,follow,nofollow(是否允許把自己的網(wǎng)頁收錄到搜索引擎的緩存數(shù)據(jù)庫中或者是否同意別人使用你的網(wǎng)頁尋找其他人的網(wǎng)頁,可以利用這個屬性屏蔽掉一些搜索);author:作者;copyright:版權(quán) eg: <meta?name="keywords"? ? content="HTML,ASP,PHP,SQL"> <meta?name="description?"?content="網(wǎng)頁的中心思想,網(wǎng)頁是干嘛的"> <meta?name="robots?" ??? ?content="all"> ? ?? 2)、<meat http-equiv="" ?content="">:http-equiv用于在html文檔中模擬http協(xié)議的響應(yīng)消息頭,例如告訴瀏覽器是否緩存頁面,使用什么樣的字符集顯示網(wǎng)頁內(nèi)容,什么時候刷新網(wǎng)頁等。eg:Content-Type:指定整個網(wǎng)頁的類型,字符集格式;Refresh:每隔幾秒刷新或者說刷新完跳轉(zhuǎn)到哪個頁面、網(wǎng)址;Expires:是否允許頁面緩存;Windows-Target:把自己的頁面占領(lǐng)整個窗體,不允許小窗口頁面放在別人的頁面里 eg: <meat http-equiv="Content-Type" ?content="text/html; charset=utf-8"> <meat http-equiv="refresh" ?content="3;url=“www.baidu.com”"> <meat http-equiv="expires?" ?content="0"> ? ? //不允許頁面緩存 <meat http-equiv="Windows-Target?" ?content="_top"> (5)<style>樣式標簽:可以利用這個標簽在本文件中加入css樣式控制代碼 (6)</script>標簽:利用該標簽加入js代碼。 3、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<body>content</body>主體標簽 (1)只要是可以用css樣式控制的就不用html本身的屬性。 (2)通用屬性:id、name、class、style (3)DTD文件:文檔類型定義 (4)格式標簽:該標簽用于定義網(wǎng)頁中文本的布局、縮進、位置、換行、列表等。 eg: <br> ? ? ? ? 換行(單獨使用) <p> ? ? ? ?? 換段(可以成對使用也可以獨立使用,最好是成對使用成為一個元素,這樣就可以使用樣式) <center> ?居中 <pre> ? ? ? 保留文字在源代碼中的格式 <hr> ? ? ? ? 水平分割線,用于段落之間的分割 <ul><li> ?無序的列表(列表是可以嵌套的) <ol><li> ?有序的列表(有阿拉伯數(shù)字序號、英文字母表順序等) 注意:在標簽中不是所有的屬性都是要給值的,例如bool類型的屬性不需要寫成:noshade=true的形式,直接noshade即可;對于一些屬性值是使用固定值的形式還是使用百分比的形式要取決與你想讓頁面是否隨著你的窗口改變而改變,如果想要隨著窗口大小的改變而改變就使用百分比的形式,反之使用固定值。 (5)文本標簽:該標簽用于在網(wǎng)頁中為了著意強調(diào)某一部分文字,或者為了讓文字有所變化 eg: <hn> ? ? ? ? 其中n為1----6(用來調(diào)整字體的大小,h1的字體是最大的) <b> ? ? ? ? ? 粗體 <i> ? ? ? ? ? ?斜體 <u> ? ? ? ? ?下劃線 ? ? ? ? ? ? ? //b、u、i三個標簽可以嵌套使用 <sub> <sup> <font> ? ? ?指定文本字體(宋體、黑體之類的)、顏色、大小等屬性 <tt> ? ? ? ? ?輸出打印機字體 <cite> ? ? ? 輸出引證、舉例的斜體字 <em> ? ? ? ?輸出強調(diào)的斜體字 <strong>??輸出強調(diào)的粗體字 <small> ? ?輸出小型的字體 <big> ? ? ??輸出大型的字體 (6)超鏈接標簽:該標簽用于鏈接文本或者是其他鏈接資源,有相對URL和絕對URL之分 eg: <a href="URL">content</a> ?注意:target屬性:target值:_self(在自己窗體里跳轉(zhuǎn));_blank(打開一個新的窗體跳轉(zhuǎn));_top;name <a href="URL" ?target="_self">content</a>//在自己窗口打開一個新的鏈接 (7)錨點標簽:<a name ="自定義名稱">內(nèi)容</a>;使用時<a href="#name">定位位置</a> ? “#”代表本頁面 例如我們在做一個很長的網(wǎng)頁時,需要在頁面內(nèi)做一個導航,點擊導航里的鏈接不是新開一個窗口或者跳轉(zhuǎn)到其他網(wǎng)址,而是跳轉(zhuǎn)到當前頁的某一個位置。那么所要跳轉(zhuǎn)到的那個位置,我們就叫做錨點,它是一種在頁面內(nèi)部定位的方式。 ? 設(shè)置錨點也是很簡單的,例如一個文章分了三段,每段有個標題,標題的代碼是這樣的 <h2>我是標題一</h2> <h2>我是標題二</h2> <h2>我是標題三</h2> ? 如果我想要在頁面內(nèi)設(shè)置錨點,做一個索引,點擊相應(yīng)的索引標題就跳轉(zhuǎn)到相應(yīng)的段落,那么就只要在標題所在的html標簽里面設(shè)置一個ID,然后鏈接過去即可,可以像下面這樣設(shè)置ID: <h2 id="a">我是標題一</h2> <h2 id="b">我是標題二</h2> <h2 id="c">我是標題三</h2> ? 然后在索引里面這樣設(shè)置超鏈接就可以實現(xiàn)和錨點的連接了 <a href="#a">點擊我就會跳到第一段</a> <a href="#b">點擊我就會跳到第二段</a> ? <a href="#c">點擊我就會跳到第三段</a> (8)圖像標簽:<img>標簽 eg:<img>標簽 屬性:1、src:指定圖片所在的URL ? ? ?2、border:?指定圖片?邊框的寬度 ? ?3、alt :鼠標放上有黃色小圖標 ;當圖片不存在或者是還沒有加載完的時候會顯式自定義文字;另外搜索引擎可以通過它指定的文字搜索該圖片。?? 4、width:?指定圖片的寬度? 5、height :指定圖片的高度 6、usemap:使用熱點屬性,用于圖像地圖 <img src="logo.jpg"> 給圖片加上鏈接:<a href ="www.baidu.com"><img src="logo.gif"></a><br> (9)圖像地圖標簽:一個圖像只能加一個a標簽,做一個鏈接;如果把一副圖像分成多個區(qū)域,每個區(qū)域指向不同的URL地址(為一個圖片加上多個鏈接),這種方式就需要先指定熱點;使用map標簽指定熱點區(qū)域,然后使用<area>指定圖片中每個URL,使用shape指定形狀:rect、poly、circle ,使用coords確定形狀;使用href指定鏈接的位置;在圖像<img>中使用usemap屬性去使用地圖 eg:<map name="自定義名稱"> ? <img src="" usemap"#自定義名稱"> <map name="mapd"> ? ? ?<area shape="rect" coords="3,4,5,5" href="www.baidu.com" target="_blank"> </map> <img src="logo.gif" usemap="#mapd"> (10) 表格標簽:<table>標簽;align屬性:left,right,center?? ?border屬性:是否有邊線 ? width ?height ?cellspacing:指定格子與格子之間的距離 cellpadding:指定表格中的內(nèi)容距離格子的距離 ? ? bgcolor:表格背景顏色屬性 ? ?bordercolor:邊線背景顏色 行標簽:<tr>標簽,有幾行就有幾個<tr>標簽;align屬性:left,center,right? 列標簽:<td>標簽 <tr>標簽一定在<table>標簽里,而<td>標簽一定在<tr>標簽里面. <th>標簽是一個字段標簽(列名),它和<td>標簽的用法一致,但是它的文字是粗體居中顯式,也就是說th標簽往往被用來作為表格的列名。 (11)窗口分幀:一般用在后臺的管理頁面 1、<frameset>標簽:屬性:rows、cols、可以使用固定值、百分比和*三種來計算出頁面的比例大小;frameborder屬性規(guī)定是否需要使用邊框的存在 注意:分幀<frameset>?標簽不能和body體及體中的body標簽及內(nèi)容體共同存在。 eg: ? //一個frame代表一個窗體
<frameset> ?
? <frameset rows="10%,80%,*">
? <frame src="http://www.baidu.com" ?name="left">
? ?
? <frameset cols="10%,*">
? <frame src="http://www.youku.com"?name="left"?>
? <frame src="http://www.hao123.com"?name="left"?>
? </frameset>
? <frame src="http://www.360.com"?name="right"?>
? </frameset>
? ?
</frameset> ?
2、<frame>標簽? ?屬性:src設(shè)置可以鏈接的文本文檔、name別的鏈接target指定值、scrolling:?規(guī)定是否在框架中顯示滾動條。值為yes,no,auto;noresize屬性:?規(guī)定無法調(diào)整框架的大小。 ? 3、<a href="" target="left">的target屬性:四個內(nèi)置的取值:_blank、_parent、_self(默認就是在自己的窗口)和_top 4、<iframe>標簽用在前臺界面中的標簽。該標簽可以放在body體里面。 ? 可以說是瀏覽器中的瀏覽器。 iframe 元素會創(chuàng)建包含另外一個文檔的內(nèi)聯(lián)框架(即行內(nèi)框架)。 提示:您可以把需要的文本放置在 <iframe> 和 </iframe> 之間,這樣就可以應(yīng)對無法理解 iframe 的瀏覽器。 iframe標簽是成對出現(xiàn)的,以<iframe>開始,</iframe>結(jié)束 iframe標簽內(nèi)的內(nèi)容可以做為瀏覽器不支持iframe標簽時顯示 (12)html的表單應(yīng)用<form></form>標簽。 ? 15、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???CSS+DIV基礎(chǔ) (0)

CSS 概述

  • CSS 指層疊樣式表 (Cascading?Style?Sheets)
  • 樣式定義如何顯示?HTML 元素
  • 樣式通常存儲在樣式表中
  • 把樣式添加到 HTML 4.0 中,是為了解決內(nèi)容與表現(xiàn)分離的問題
  • 外部樣式表可以極大提高工作效率
  • 外部樣式表通常存儲在?CSS 文件中
  • 多個樣式定義可層疊為一
(1)?樣式表允許以多種方式規(guī)定樣式信息。樣式可以規(guī)定在單個的 HTML 元素中,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中。甚至可以在同一個 HTML 文檔內(nèi)部引用多個外部樣式表。 (2) 當同一個 HTML 元素被不止一個樣式定義時,會使用哪個樣式呢? 一般而言,所有的樣式會根據(jù)下面的規(guī)則層疊于一個新的虛擬樣式表中,其中數(shù)字 4 擁有最高的優(yōu)先權(quán)。
  • 瀏覽器缺省設(shè)置
  • 外部樣式表
  • 內(nèi)部樣式表(位于 <head> 標簽內(nèi)部)
  • 內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)
  • ? 因此,內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高的優(yōu)先權(quán),這意味著它將優(yōu)先于以下的樣式聲明:<head> 標簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。 (3)CSS基礎(chǔ)語法:

    ?

    ?

    ?

    ? (4)CSS高級語法:選擇器的分組及屬性的繼承問題:

    ?

    ?

    ? (5)CSS的上下文選擇器(派生選擇器) ? CSS里面通過各種選擇器來定位元素。?CSS里面選擇器有很多種,今天就只想說說 “派生選擇器”。 一聽“派生選擇器”這個名字,我真心做不到見名知義地感覺它是什么選擇器。一看英文名叫“contextual selectors” ,如果直譯就叫“上下文選擇器”。雖然名字不文雅,但是我更偏向這個名字。 contexual selector是通過依據(jù)元素在其位置的上下文關(guān)系來定義樣式的。 上下文選擇器的情況有三種:后代選擇器,子元素選擇器,相鄰兄弟選擇器。? ? 后代選擇器(descendant selector) ? eg: HTML代碼: ????<h1>This is a<em>important</em>heading</h1> CSS代碼:? ????h1?em {color:red;} 語法規(guī)則是 h1 和 em 之間有一個空格。那么這一條CSS代碼就會運用于包含在<h1></h1>標簽內(nèi)的所有<em>元素。 關(guān)于后代選擇器,很重要的一點是第一個參數(shù)和第二個參數(shù)之間的代數(shù)是可以無限的。 eg: HTML代碼: <ul>? ? ? <li> ????????<ul> ????????????<li> ????????????????<em>This will be styled.</em> ?????????????</li> ????????</ul> ????</li> ? ? <li> ????????<em>This will be styled too.</em> ????</li> </ul> CSS代碼: ul em{color:red;} 以上css的樣式會運用于HTML代碼中兩處橘色的<em>元素。

    ?

    子選擇器(child selector)? ?子選擇器只會選擇某個元素的直接子元素,而不會擴大到任意的后代元素。 eg: HTML代碼: <h1>This is?<strong>This will be styled.</strong>?important.</h1> <h1>This is <em>really <strong>This will not be styled.</strong></em> important.</h1> CSS代碼: h1 > strong {color:red;} 語法規(guī)則是h1和strong之間會有一個“>”符號。而這個“>”和前面的h1或者是后面的strong之間的空格都是可有可無的。 ? 在以上的例子中,第一行HTML代碼里,<strong>元素是<h1>的子元素,所有h1 > strong這個選擇器會選擇到它。 第二行HTML代碼里,<strong>?不是<h1>的子元素,而是<h1>的孫子,所有h1 > strong這個選擇器不會選擇到它。 ? 相鄰兄弟選擇器(Adjacent sibling selector) 相鄰兄弟選擇器會選擇某一元素緊隨其后的元素,但是前提是他們擁有相同的父級。? eg: HTML代碼: <h1> ? ? <h2>This is a heading<h2> ? ? <strong>This will be styled.</strong> ? ? <strong>This will not be styled.</strong> <h1> CSS代碼: h2?+ strong {color:red;}? ? 語法規(guī)則是h2和strong之間有一個“+”,“+”和前面的h1或者后面的strong之間的空格都是可有可無的。 在?以上例子中,第一個strong緊鄰著h2并且他們擁有相同的父級(h1),所以h2 + strong會選擇到第一個<strong>而不會選到第二個<strong>. eg2: HTML代碼: <div>? ????<ul> ???? ????????<li>List item 1</li>? ????????<li>List item 2</li>? ????????<li>List item 3</li>? ????</ul>? ?????<ol>? ?????????<li>List item 1</li>? ?????????<li>List item 2</li>? ?????????<li>List item 3</li>? ????</ol>? </div> CSS代碼: li + li {color:red;} 在以上的例子中l(wèi)i+li是選擇緊挨著li后面的第一個<li>,所以第一個<li>不會被選擇;而第二個<li>是緊挨著第一個li的,所有會被選擇;第三個<li>是緊挨著第二個<li>的,也會被選擇。 ? ? (6)CSS的ID選擇器:?id 選擇器可以為標有特定 id 的 HTML 元素指定特定的樣式。

    ?

    ?

    ?

    ? (7)CSS的類選擇器

    ?

    也就是說當元素基于他們的類而被選擇的時候某一個特定的標簽元素可以選擇不同類中其中一個類的樣式,這對于范圍的選擇是不同的。中間是沒有空格的。 (8)CSS的屬性選擇器

    ?

    (9)CSS的創(chuàng)建

    ?

    ?

    ? ?
    ?
    ?
    ?
    (10)css的背景屬性:

    ?

    (11)HTML中的DIV標簽:div+css ?

    ?

    ? margin設(shè)置外邊距,padding設(shè)置內(nèi)邊距。 ? 關(guān)于在一個頁面布局中是選用id還是class屬性,id屬性是當只有一次用到該樣式的時候使用,而class屬性是當一類或多次使用到一個屬性的時候用的。 ? ? 16、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?JS+jquery基礎(chǔ) (1) ? <script> 標簽 如需在 HTML 頁面中插入 JavaScript,請使用 <script> 標簽。 <script> 和 </script> 會告訴 JavaScript 在何處開始和結(jié)束。 <script> 和 </script> 之間的代碼行包含了 JavaScript (2)

    ?

    (3)

    ?

    ?

    (4) ? JavaScript 對大小寫敏感。 JavaScript 對大小寫是敏感的。當編寫 JavaScript 語句時,請留意是否關(guān)閉大小寫切換鍵。函數(shù) getElementById 與 getElementbyID 是不同的。同樣,變量 myVariable 與 MyVariable 也是不同的。 提示:JavaScript 是腳本語言。瀏覽器會在讀取代碼時,逐行地執(zhí)行腳本代碼。而對于傳統(tǒng)編程來說,會在執(zhí)行前對所有代碼進行編譯。 (5)

    JavaScript 變量

    與代數(shù)一樣,JavaScript 變量可用于存放值(比如 x=2)和表達式(比如 z=x+y)。 變量可以使用短名稱(比如 x 和 y),也可以使用描述性更好的名稱(比如 age, sum, totalvolume)。
    • 變量必須以字母開頭
    • 變量也能以 $ 和 _ 符號開頭(不過我們不推薦這么做)
    • 變量名稱對大小寫敏感(y 和 Y 是不同的變量)
    提示:JavaScript 語句和 JavaScript 變量都對大小寫敏感。

    JavaScript 數(shù)據(jù)類型

    JavaScript 變量還能保存其他數(shù)據(jù)類型,比如文本值 (name="Bill Gates")。 在 JavaScript 中,類似 "Bill Gates" 這樣一條文本被稱為字符串。 JavaScript 變量有很多種類型,但是現(xiàn)在,我們只關(guān)注數(shù)字和字符串。 當您向變量分配文本值時,應(yīng)該用雙引號或單引號包圍這個值。 當您向變量賦的值是數(shù)值時,不要使用引號。如果您用引號包圍數(shù)值,該值會被作為文本來處理。

    例子:

    var?pi=3.14; var?name="Bill?Gates"; var?answer='Yes?I?am!'; (5) ? JavaScript 數(shù)組 下面的代碼創(chuàng)建名為 cars 的數(shù)組: var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; cars[2]="Volvo"; 或者 (condensed array): var cars=new Array("Audi","BMW","Volvo"); 或者 (literal array):

    實例

    var?cars=["Audi","BMW","Volvo"]; (6)

    ?

    (7)

    ?

    (8) JavaScript 中的所有事物都是對象:字符串、數(shù)字、數(shù)組、日期,等等。 在 JavaScript 中,對象是擁有屬性和方法的數(shù)據(jù)。 屬性和方法 屬性是與對象相關(guān)的值。 方法是能夠在對象上執(zhí)行的動作。

    ?

    (9) ? 對字符串和數(shù)字進行加法運算 請看這些例子:x=5+5; document.write(x); x="5"+"5"; document.write(x); x=5+"5"; document.write(x); x="5"+5; document.write(x); 規(guī)則是: 如果把數(shù)字與字符串相加,結(jié)果將成為字符串。 (10)JavaScript錯誤:throw、try和catch ? ? ? ? ? ? ? ? (11)JavaScript的表單驗證: JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中的這些輸入數(shù)據(jù)進行驗證。 ? JavaScript 表單驗證 JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對 HTML 表單中的這些輸入數(shù)據(jù)進行驗證。 被 JavaScript 驗證的這些典型的表單數(shù)據(jù)有:
    • 用戶是否已填寫表單中的必填項目?
    • 用戶輸入的郵件地址是否合法?
    • 用戶是否已輸入合法的日期?
    • 用戶是否在數(shù)據(jù)域 (numeric field) 中輸入了文本?

    必填(或必選)項目

    下面的函數(shù)用來檢查用戶是否已填寫表單中的必填(或必選)項目。假如必填或必選項為空,那么警告框會彈出,并且函數(shù)的返回值為 false,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒有問題): function validate_required(field,alerttxt) { with (field) { if (value==null||value=="") {alert(alerttxt);return false} else {return true} } } 下面是連同 HTML 表單的代碼: <html> <head> <script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value=="") {alert(alerttxt);return false} else {return true} } } ? function validate_form(thisform) { with (thisform) { if (validate_required(email,"Email must be filled out!")==false) {email.focus();return false} } } </script> </head> ? <body> <form action="submitpage.htm" οnsubmit="return validate_form(this)" method="post"> Email: <input type="text" name="email" size="30"> <input type="submit" value="Submit"> </form> </body> ? </html>

    E-mail 驗證

    下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語法。 意思就是說,輸入的數(shù)據(jù)必須包含 @ 符號和點號(.)。同時,@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個點號: function validate_email(field,alerttxt) { with (field) { apos=value.indexOf("@") dotpos=value.lastIndexOf(".") if (apos<1||dotpos-apos<2) {alert(alerttxt);return false} else {return true} } } 下面是連同 HTML 表單的完整代碼: <html> <head> <script?type="text/javascript"> function?validate_email(field,alerttxt) { with?(field) { apos=value.indexOf("@") dotpos=value.lastIndexOf(".") if?(apos<1||dotpos-apos<2)? ? {alert(alerttxt);return?false} else?{return?true} } } ? function?validate_form(thisform) { with?(thisform) { if?(validate_email(email,"Not?a?valid?e-mail?address!")==false) ? {email.focus();return?false} } } </script> </head> ? <body> <form?action="submitpage.htm"οnsubmit="return?validate_form(this);"?method="post"> Email:?<input?type="text"?name="email"?size="30"> <input?type="submit"?value="Submit">? </form> </body> ? </html> (12)?絕不要使用在文檔加載之后使用 document.write()。這會覆蓋該文檔。 ? ? 16、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??PHP基礎(chǔ) (1)PHP在web開發(fā)中的應(yīng)用:1、收集表單數(shù)據(jù) ? 2、生成動態(tài)網(wǎng)頁 ?3、字符串處理 ?4、動態(tài)輸出圖像 ?5、服務(wù)器端文件系統(tǒng)操作 6、編寫數(shù)據(jù)庫支持的網(wǎng)頁 ?7、會話跟蹤控制 8、處理XML文件 ?9、支持利用大量的網(wǎng)絡(luò)協(xié)議 ?10、服務(wù)器端的其他相關(guān)操作 (2)PHP配置文件所在位置:D:\phpStudy\php54n\php.ini (3)第一個PHP程序: <?php phpinfo(); ? ?//該函數(shù)用來看一下配置環(huán)境內(nèi)容 (4)PHP中可以使用系統(tǒng)關(guān)鍵字作為變量名。PHP變量和常量區(qū)分大小寫,但是函數(shù)名以及其他關(guān)鍵字是不區(qū)分大小寫的。 (5)PHP中變量的類型:PHP是弱類型的語言。PHP中共有8種類型: 4種標量:整型: ? ? ?int ?integer ? ? ? ? ? ? ? ? ? 布爾型: ?bool ? boolean ? ? ? ? ? ? ? ? 浮點型: ?float double real ? ? ? ? ? ? ? ? 字符串: ?string 2種符合類型:數(shù)組:array ? ? ? ? ? ? ? ? ? ? ? 對象:object 2種特殊類型:資源類型:resource ? ? ? ? ? ? ? ? ? ? ? ?空類型: ? null ? (6)數(shù)據(jù)類型之間的相互轉(zhuǎn)換: 1、強制類型轉(zhuǎn)換:setType(變量,類型);//類型是數(shù)據(jù)類型,成功返回真,失敗返回假,這個函數(shù)是將原變量的類型進行改變 2、在賦值前使用(類型)的形式,不會改變原變量的類型。 3、系統(tǒng)自動類型轉(zhuǎn)換 與類型轉(zhuǎn)換有關(guān)的一些函數(shù): $變量=intval(變量或值); $變量=floatval(變量或值); $變量=stringval(變量或值); ? 與變量和類型有關(guān)的一些常用函數(shù): isset(); ? ? ? ? ?//判斷一個變量是否存在 empty(); ? ? ?//判斷一個變量的數(shù)據(jù)是否為空 unset(); ? ? ? //刪除一個變量 setType(); ? //設(shè)置變量類型 getType(); ?//得到變量類型 ? ?var_dump();//既能夠得到數(shù)據(jù)類型,也能夠得到數(shù)據(jù) ? (7)常量: 1、常量是一個簡單值的標識符 2、常量定義后不能再改變它的值,也不能使用unset()取消。 3、常量可以不用理會變量范圍的規(guī)則而在任何地方都能夠定義和訪問,也就是說常量的作用域范圍要比變量大。 4、常量使用define(”常量名“,值)的方式定義和聲明。 5、常量名稱和習慣都使用大寫 6、常量不管在什么時候都不使用"$"符號 7、常量一定要在聲明的時候就給他值 8、defined(”常量名“); ? //判斷常量是否存在 (8)PHP中的運算符: ===全等于,比較時不僅要求內(nèi)容相同,也要求類型相同。 !==全不等于,比較時不僅要求內(nèi)容不相同,也要求類型不相同。 & 和 | 既可以作為邏輯運算符,又可以作為位運算符。它與 && 和 ?|| 的區(qū)別就是短路問題,&&在作運算時,如果前面的數(shù)是false,則無論后面是否為true,整個表達式都是false;而& 和 | 在運算時兩邊都會執(zhí)行。 (9)PHP面向?qū)ο?#xff08;OOP): 面向?qū)ο蠛兔嫦蜻^程之間的區(qū)別: 面向過程的最小單位:函數(shù) 面向?qū)ο蟮淖钚挝?#xff1a;對象 (10)類的聲明:一個類就是將來實例化某個對象的基本。 1】你要開發(fā)的是什么?確定寫什么類。 2】格式: 【修飾類的關(guān)鍵字】 ?class 類名 成員(包括成員變量和成員方法) 注意:一個文件只保存一個類,文件名中包含類名 ? eg: ?類名.class.php?? 這種起名方式也可以方便于自動加載 類名每個單詞的首字母都要大寫AaBbCc;常量所有字母都是大寫AABBCC;函數(shù)和變量使用駝峰式起名aaBbCc。總之聲明要有意義。 (11)PHP的類中成員變量的聲明一定要加訪問修飾符 (12)在類中修飾成員屬性的時候前面一定要有修飾詞。eg:【public private protected const var static ?.......】$daXiao = 54;當不知道要具體用哪個的時候就使用var或者public. (13)只有對象在內(nèi)存中才會有存儲空間,對象需要被一個類來實例化。 對象需要通過類來進行實例化,使用new關(guān)鍵字新建一個對象;格式為: ? $對象引用=new ?類名;只要有一個new關(guān)鍵字就是創(chuàng)建一個對象,創(chuàng)建一個對象就會在內(nèi)存(堆內(nèi)存)中分配一個空間。 (14)對象的實例化: ? $a=new ?Person;對于這一條語句而言,右邊是一個對象,一個對象會在堆內(nèi)存中開辟一個空間,然后把這個對象的首地址賦給左邊的變量,左邊的變量是在棧內(nèi)存中存儲的,也就是每個對象的引用句柄。

    ?

    ? 對象的使用:對象中的成員必須通過對象的引用來訪問,格式:對象->成員;對象->成員屬性/成員方法。eg: ? $p1->name="wyc";$p2->eat();//注意name前面沒有$符號 (15)在對象中的方法中默認都會有一個$this關(guān)鍵字,這個關(guān)鍵字代表調(diào)用這個方法的對象。也就是說this關(guān)鍵字代表第一人稱:我。 (16)構(gòu)造方法和析構(gòu)方法: 構(gòu)造方法也稱為構(gòu)造器:它是一個對象創(chuàng)建完成以后,“”第一個“”“”自動調(diào)用“”的方法。 構(gòu)造方法的定義格式: 在PHP4中:function ? ? ? 類方法名 在PHP5中:選擇使用魔術(shù)方法 ?__construct();所有類中聲明構(gòu)造方法都使用這個名稱。優(yōu)點就是當類名發(fā)生改變時,構(gòu)造方法名稱不會改變。 構(gòu)造方法的作用:為成員屬性進行初始化 魔術(shù)方法: ?* ? 在類中寫出了某個魔術(shù)方法, 這個方法對象的功能 就會添加上 ?*?? ?方法名稱都固定的(都是系統(tǒng)給我們提供好),沒有自己定義的, ?* ??每一個魔術(shù)方法, 都是在不同時刻為了完成某一功能自動調(diào)用的方法 ?* ? 不同的魔術(shù)方法有不同調(diào)用 時機 ?* ??都是以 __開頭的方法 ?* ?*? ? ? ? ? ? __construct(); ?*? ? ? ? ? ? __destruct(); ?* ?*? ? ? ? ? ? __set(); ?*? ? ? ? ? ? __get(); ?*? ? ? ? ? ? __isset(); ?*? ? ? ? ? ? __unset(); ?* ?*? ? ? ? ? ? __clone(); ?* ?*? ? ? ? ? ? __call(); ?* ?*? ? ? ? ? ? __sleep(); ?* ?*? ? ? ? ? ? __weakup(); ?* ?*? ? ? ? ? ? __toString() ?* ?*? ? ? ? ? ? ... ?* ?*? ? ? ? ? ? ? __autoload(); ?* ? 析構(gòu)方法: 1. 當對象被釋放之前最后一個 “自動”調(diào)用的方法 2.使用垃圾回收器(java PHP)而C++是需要手動的釋放,當引用變量與對象之間的鏈接線斷了之后就會回收。 3.作用:關(guān)閉一些資源, 作一些清理的工作 4.格式:__destruct(); ? 注意這個釋放順序是:先進后出(引用在棧內(nèi)存中存放) (17)PHP封裝性: ? /* ?*? 封裝性: 面向?qū)ο蟮娜筇匦灾?/span> ?* ?* 1. 就是把對象的成員(屬性,方法)結(jié)合成一個獨立的相同單位,并盡可能隱藏對象的內(nèi)部細節(jié) ?*?public? protected? ?*?private 私有的, 用這個關(guān)鍵字修飾的成員,只能在對象內(nèi)部訪問(只有用$this訪問),不能在對象外部使用 ?*?屬性可以封裝: ?*? ? ? ? ? ?只要一個變量,需要在多個方法使用,就將這個方法聲明為成員屬性,可以直接在這個對象中的所有方法中使用 ,我稱它為全局成員變量 ?* ?*? ? ? ? ? ?成員屬性,就相當于這個對象中的全局變量 ?* ?*? ? ? ? ? ?成員屬性都會在方法中使用, 成員屬性值的變化其實就是在改變方法的執(zhí)行行為, 也就是改變了對象的功能 ?*
    • ? ? ? ? ? ? 成員屬性的值如果不正常, 方法執(zhí)行的功能也就不正常 了
    ?* ?*? ? ? ? ?450ma--650mA --- 5A ?* ?*? ? ? ? ?3.8--4.2V? ---? 220v ?* ?*? ? ? ? 作用:不需要在對象外部改變或讀取它的值 ?* ?*? ? ? ? ? ? 1. 封裝 ?* ?*? ? ? ? ? ? 再提供一個公有的方法(經(jīng)過方法對象成員屬性進行賦值和取值就可以控制) ?*? ?方法也可以封裝: ?* ?*? ? ? ?作用: ?*? ? ? ? ? ?1. 使用private修飾使用其只能在內(nèi)部使用 ?*? ? ? ? 2. 一個類中有100個方法, 封裝了95個(為另外的5個服務(wù)的方法), 只有5個方法可以使用 ?*? ? ? ? ? ?*? ? ? ?*? ? ? 100成員屬性,都讓取值,值都不可以改值 ?* ?*? ? ? 和封裝有關(guān)的魔術(shù)方法: ?* ?*? ? ? ?__set():是直接設(shè)置成員屬性值時,自動調(diào)用的方法 ?*? ? ? ?__get():是直接獲取成員屬性值時,自動調(diào)用的方法 ?*? ? ? ?__isset(); ?*? ? ? ?__unset(); ?*/ (18)PHP繼承性: /* ?* 繼承性: ?*? ? ?1. 也是面向?qū)ο蟮娜筇匦灾?/span> ?*? ? ?2. 開放性、可擴充性 ?*? ? ?3. 增加代碼的重用性 ?*? ? ?4. 提高了軟件的可維護性 ?* ?*? ? ? 5. 繼承就是用子類去”擴展“父類 ?* ?*? ? ? 6. 鳥--- 磚頭 ?* ?*? ? ? C++ 屬于多繼承, 同一個類可以有多個父類 ?* ?*? ? ? PHP和Java屬于單繼承, 同一個類只能有一個父類 ?* ?*? ? ? 不管多繼承的還是單繼承的都可以有多個子類 ?* ?*? ? ? 只要你在設(shè)計兩個類時,有可以共享的成員,就將可以共享的內(nèi)容拿出來,單獨作為一個基類使用 ?* ?*? ? ? 父類--基類 ?*? ? ? 子類--派生類 ? ?*? ? ?作用: ?* ?* ?* 一、類繼承的應(yīng)用 ?* ?*? ? ?1.? ? ?聲明一個子類,使用 extends 關(guān)鍵字 去繼承(擴展)一個父類 ?* ?*? ? ?2.? 子類可以從父類,繼承所有的內(nèi)容,包括成員屬性,成員方法, 構(gòu)造方法 ..., 在子類中都可以直接使用 ?* ?*? ? ?3. 父之間的層次關(guān)系設(shè)計好 ?* ?* 二、訪問類型控制 ?*? ? ?雖然子類可以從父類中繼承所有內(nèi)容,但private的成員, 只能在本類中使用, 子類中也不能使用 ?* ?*? ? ?封裝時,即可以讓自己類的內(nèi)部可以訪問,也讓子類可以用,但類的外部不能使用, private --> protected ?* ?* 三、子類中重載父類的方法 ?* ?*? ?1. 子類可以聲明和父類相同的方法名,即子類覆蓋了父類中同名的方法 ?* ?*? ?鳥類---鴕鳥(飛方法), 在鴕鳥類中將 “飛的方法改寫” ?* ?*? ?子類的方法對父方法的擴展 ?* ?*? ?在子類中 調(diào)用 父類中 被覆蓋的方法? ?*? ? ?*? ? 對象->成員? 類::成員 ?* ?*? ? ? ?父類名::方法名() ?*? ? ? ?parent::方法名() ?* ?* ?*? ?在子類中編寫構(gòu)造方法,如果父中也有構(gòu)造方法一定要去調(diào)用一次父類中被覆蓋的那個構(gòu)造方法 ?* ?*? ?注意: 子類中重載的方法,不能低于父類中訪問權(quán)限, (子類可以訪大權(quán)限,但不能縮小權(quán)限) ?* ?*/ 代碼示例: class Person1 { ? ? protected $name; ? ? protected $age; ? ? protected $sex; ? ? ? function __construct($name, $age, $sex){ ? ? ? ? $this->name=$name; ? ? ? ? $this->sex=$sex; ? ? ? ? $this->age=$age; ? ? ? ? ? echo "###################<br>"; ? ? } ? ? ? ? protected function say(){ ? ? ? ? echo "我的名-{$this->name}:,我的年齡:{$this->age},我的性別:{$this->sex}.<br>"; ? ? } ? ? ? ?function eat(){ ? ? ? ? echo "wwwwwwwwwwwwwwww"; ? ? } ? ? ? function run(){ ? ? ? } ? } ? ? class Student extends Person1 { ? ? ? var $school; ? ? function __construct($name, $age, $sex, $school){ ? ? ? ? parent::__construct($name, $age, $sex); ? ? ? ? $this->school=$school; ? ? } ? ? function study(){ ? ? ? ? echo "{$this->name}在學習.<br>"; ? ? ? ? ? $this->eat(); ? ? } ? ? ? public function say(){ ? ? ? ? parent::say(); ? ? ? ? echo "我所在的學校{$this->school}<br>"; ? ? } ? ? } ? ? $s=new Student("lisi", 20, "男", "QingHua"); 方法重載:就是在同一個類中,方法的名字相同,但參數(shù)個數(shù)、參數(shù)的類型或返回值類型不同! 方法重寫:它是指子類和父類的關(guān)系,子類重寫了父類的方法,但方法名、參數(shù)類型、參數(shù)個數(shù)必須相同! ----------------------------------------------------------------------------------------------------------------------------------------------------------- (18)PHP與web頁面的交互 1、表單與PHP:數(shù)據(jù)從web表單(form)發(fā)送到PHP代碼,經(jīng)過處理再生成HTML輸出。 2、傳遞數(shù)據(jù)的兩種方法:post和get兩種, ? <form action="url" method="post/get"> 3、post和get的區(qū)別和聯(lián)系:

    ?

    (19)PHP中字符串的處理函數(shù)(30%) (20)PHP中數(shù)組的處理(20%) (21)PHP中正則表達式對字符串的處理 ? ? ? ? ? (22)PHP中的文件與目錄操作合集 1、打開文件fopen(),關(guān)閉文件fclose()函數(shù) 2、常見的目錄操作函數(shù): string getcwd(void) ?//主要用來獲取當前的工作目錄,返回的是字符串 chdir(string directory) ?//將PHP的當前目錄改為directory目錄 scandir()//獲取當前工作目錄中的文件和目錄,以數(shù)組形式返回 opendir(string path) ?//返回一個目錄句柄 closedir(resource dir_handle)//主要用來關(guān)閉一個目錄流 readdir(resource dir_handle)//返回目錄中下一個文件的文件名。文件名以在文件系統(tǒng)中的排序返回 遍歷目錄的方法: $handle=opendir('d:/ch12'); while(false !== ($file = readdir($handle))) { ?echo "$file\n"; } closedir($handle); 3、文件的上傳 (23)PHP操作MySQL數(shù)據(jù)庫 代碼示例: htmlform.html文件 <html> <head> ? ? <title>操作數(shù)據(jù)庫</title> </head> <body> ? <form action="formhandler.php" method="post"> Fill user name: <input name="username" type="text"? size="20" /><br /> <input name="submit"? ?type="submit"? value="Find" /> </form> </body> </html> ? formhandler.php文件: <?php $username = $_POST['username']; if(!$username) { echo "Error: There is no data founded"; exit; } echo "hello1"."<br />"; if(!get_magic_quotes_gpc())? ? ?//獲取當前 magic_quotes_gpc 的配置選項設(shè)置 { ? ? $username = addslashes($username);? //返回轉(zhuǎn)義后的字符。 } echo "hello2"."<br />"; @$db=mysqli_connect('localhost','root','root','wyc'); if(mysqli_connect_errno()) { ? ? ?echo "Error: could not connect to mysql database"; ? ? ?exit; } echo "hello3"."<br />"; $q="SELECT? * FROM? user WHERE name='".$username."' "; $result=mysqli_query($db,$q);? ?//使用mysqli_query函數(shù)來執(zhí)行SQL語句 echo "hello4"."<br />"; //使用mysqli_num_rows函數(shù)來獲取查詢結(jié)果集中的記錄數(shù) $rownum=mysqli_num_rows($result); echo "hello5"."<br />"; for($i=0;$i<$rownum;$i++) ? //使用mysqli_fetch_assoc函數(shù)從數(shù)組結(jié)果集中獲取信息 $row=mysqli_fetch_assoc($result); echo "hello world!"."<br >"; echo "Id:".$row['id']."<br />"; echo "Name:".$row['name']."<br />"; echo "Age:".$row['age']."<br />"; echo "Info:".$row['info']."<br />"; ? } //使用該函數(shù)釋放了SQL請求所返回的對象$result所占用的資源 mysqli_free_result($result); ? //關(guān)閉數(shù)據(jù)庫連接對象 mysqli_close($db); ??> ? ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?MYSQL數(shù)據(jù)庫基礎(chǔ) 1、一個成功的網(wǎng)站系統(tǒng)由50%的業(yè)務(wù)+50%的軟件構(gòu)成,50%的軟件包含25%的數(shù)據(jù)庫+25%的程序代碼,所以足以表明數(shù)據(jù)庫設(shè)計的重要性。 2、數(shù)據(jù)庫的備份:

    ?

    ?

    ?

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??ThinkPhp框架學習 1、在TPL文件夾下建立的文件夾的叫做模版,在模版文件夾下建立的文件叫做模版文件,模版文件和模塊下的方法名一致;模版名和Action文件夾下建立的類名一致,這里的每一個類文件就是一個模塊。$this->display(). 2、網(wǎng)站項目開發(fā)步驟:(1)原型功能設(shè)計(頁面設(shè)計、頁面跳轉(zhuǎn)的邏輯設(shè)計、功能總結(jié)歸納為某一個模塊)(2)數(shù)據(jù)庫設(shè)計(歸納總結(jié)數(shù)據(jù)庫表,哪些需要入庫,哪些可以歸納到一起,哪些是有關(guān)聯(lián)的,最后歸納數(shù)據(jù)庫表之間的關(guān)系:一對多還是一對一還是其他之類,對于一對多的關(guān)系,外鍵往往在多的那邊)(3)項目目錄結(jié)構(gòu)搭建(4)實際編碼(5)測試 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    轉(zhuǎn)載于:https://www.cnblogs.com/wycBlog/p/7611396.html

    總結(jié)

    以上是生活随笔為你收集整理的(58)PHP开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。