第一篇:PHP基礎總結
1、在HTML嵌入PHP腳本有三種辦法:
<scriptlanguage=“php”>
//嵌入方式一
echo(“test”);
</script>
<?
//嵌入方式二
echo“<br>test2”;
?>
<?php
//嵌入方式三
echo“<br>test3”;
?>
還有一種嵌入方式,即使用和Asp相同的標記<%%>,但要修改PHP.ini 相關配置,不推薦使用。
2、PHP注釋分單行和多行注釋,和java注釋方式相同。
<?
//這里是單行注釋
echo“test”;
/*
這里是多行注釋!可以寫很多行注釋內容
*/
?>
注意不要有嵌套注釋,如/*aaaa/*asdfa*/asdfasdfas*/,這樣的注釋會出現問題。
3、PHP主要的數據類型有5種,integer,double,string,array,object。
4、函數內調用函數外部變量,需要先用global進行聲明,否則無法訪問,這是PHP與其他程序語言的一個區別。事例代碼:
<?
$a=1;
functiontest(){
echo$a;
}
test();//這里將不能輸出結果“1”。
functiontest2(){
global$a;
echo$a;
}
test2();//這樣可以輸出結果“1”。
?>
注意:PHP可以在函數內部聲明靜態變量。用途同C語言中。
5、變量的變量,變量的函數
<?
//變量的變量
$a=“hello”;
$$a=“world”;
echo“$a$hello”;//將輸出“helloworld”
echo“$a${$a}”;//同樣將輸出“helloworld”
?>
<?
//變量的函數
functionfunc_1(){
print(“test”);
}
functionfun($callback){
$callback();
}
fun(“func_1”);//這樣將輸出“test”
?>
6、PHP同時支持標量數組和關聯數組,可以使用list()和array()來創建數組,數組下標從0開始。如:
<?
$a[0]=“abc”;
$a[1]=“def”;
$b[“foo”]=13;
$a[]=“hello”;//$a[2]=“hello”
$a[]=“world”;//$a[3]=“world”
$name[]=“jill”;//$name[0]=“jill”
$name[]=“jack”;//$name[1]=“jack”
?>
7、關聯參數傳遞(&的使用),兩種方法。例:
<?
//方法一:
functionfoo(&$bar){
$bar.=“andsomethingextra”;
}
$str=“ThisisaString,”;
foo($str);
echo$str;//output:ThisisaString,andsomethingextra
echo“<br>”;
//方法二:
functionfoo1($bar){
$bar.=“andsomethingextra”;
}
$str=“ThisisaString,”;
foo1($str);
echo$str;//output:ThisisaString,echo“<br>”;
foo1(&$str);
echo$str;//output:ThisisaString,andsomethingextra
?>
8、函數默認值。PHP中函數支持設定默認值,與C++風格相同。
<?
functionmakecoffee($type=“coffee”){
echo“makingacupof$type.n”;
}
echomakecoffee();//“makingacupofcoffee”
echomakecoffee(“espresso”);//“makingacupofespresso”
/*
注意:當使用參數默認值時所有有默認值的參數應該在無默認值的參數的后邊定義。否則,程序將不會按照所想的工作。
*/
functiontest($type=“test”,$ff){//錯誤示例
return$type.$ff;
}
9、PHP的幾個特殊符號意義。
$變量
&變量的地址(加在變量前)
@不顯示錯誤信息(加在變量前)
->類的方法或者屬性
=>數組的元素值
?:三元運算子
10、include()語句與require()語句
如果要根據條件或循環包含文件,需要使用include()。
require()語句只是被簡單的包含一次,任何的條件語句或循環等對其無效。
由于include()是一個特殊的語句結構,因此若語句在一個語句塊中,則必須把他包含在一個語句塊中。
<?
//下面為錯誤語句
if($condition)
include($file);
else
include($other);
//下面為正確語句
if($condition){
include($file);
}else
{
include($other);
}
?>
第二篇:PHP基礎階段知識總結
php基礎階段內容: php 基本概念,常規語法
什么是php 一種服務器端的 HTML 腳本/編程語言,是一種簡單的、面向對象的、解釋型的、健壯的、安全的、性能非常之高的、獨立于架構的、可移植的、動態的腳本語言。是一種廣泛用于 Open Source(開放源代碼)的尤其適合 Web 開發并可以嵌入 HTML 的多用途腳本語言。它的語法接近C,Java 和 Perl,而且容易學習。該語言讓 Web 開發人員快速的書寫動態生成的網頁。
php的注釋方式
1.多行注釋:/* */ 2.單行注釋://、#php現在的最新版本 5.5.36
5.6.22
7.0.7 wamp是什么? W:windows A:apache M:mysql P:php 一組常用來搭建動態網絡或服務器的開源軟件
php的數據類型
八種: 四種標量類型: String(字符串)Integer(整型)Float(浮點型,也作double)Boolean(布爾型)兩種復合類型: Array(數組)Object(對象)兩種特殊類型: Resource(資源)NULL(空)php中字符串的單引號和雙引號的區別 單引號比雙引號的效率高(某些特殊情況)單引號:中的數據視為普遍的字符串 雙引號:要對其數據進行處理
php的隨機數函數?不帶參數和帶參數有什么區別?
Rand(min,max)/Mt_rand(min,max)Mt_rand的速度比rand快
不帶參數時默認范圍(在0---32767之間)帶參數的話rand(最小值,最大值)怎么定義常量?
define(“常量名”,“常量值”);值只能是標量,數據類型只能是boolean、integer、float或string;不需要加“$”
怎么輸出內容到頁面顯示?
Echo、print echo、print_r、var_dump區別?
echo用于輸出數值變量或者字符串。但使用echo來輸出引用變量時,如數組,僅輸出數組的名字
print_r 作用是輸出一個數組,實際上參數expression類型可為數值變量和引用變量。Var_dump 函數的輸出結果<變量類型,變量值,變量長度>參數expression表示各種變量類型,作用是輸出一個變量的詳細信息。php基礎函數(數組、日期、字符串)
怎么定義一個數組? $Arr = array();怎么給數組新增加1個值?
Array_push Array_unshift $arr[] =;foreach語法結構?
Foreach($arr as $key=>$value){ } foreach僅用于數組和對象
刪除數組中的指定元素 array_splice()
數組的排序 sort()和rsort()
按鍵值排序sort()從小到大,rsort()從大到小
array_unique()去除數組中的相同元素
in_array()檢測一個值是否在數組中(返回true和false)
array_search()返回的是鍵或值,返回的是鍵值所對應的鍵名
array_pop()-刪除數組中的最后一個元素
array_push()數組尾部添加一個或多個元素(入棧),返回新長度。
array_search()-按元素值返回鍵名
怎么獲取當前的日期時間?
date_default_timezone_get()gettimeofday()
怎么格式化顯示當前的日期時間?
Echo date(‘Y-m-d h:i:s’);系統默認的是哪個地區的時間? 格林威治時間(GMT)
怎么修改系統的默認時區?
date_default_timezone_set(“ PRC”);中國時區
修改配置文件php.ini 找到data.timezone =;改為data.timezone = “Asia/shanghai”;獲取字符串的長度? $length = strlen($str);將字符串全部轉換為小寫或大寫? 字符串全部轉換為小寫 :strtolower 字符串全部轉換為大寫 :strtoupper 查找字符在字符串中第一次或最后一次出現的位置? Stripos 第一次出現
Strrpos最后一次出現【不區分大小寫】 Trrpos
【區分大小寫】 web開發(http協議)
http的中文名稱?現在的最新版本是多少?訪問時的默認端口號? 超文本傳輸協議 2.4 3306 http協議的特點?
1.支持客戶/服務器模式 2.簡單快速 3.靈活 4.無連接 5.無狀態
http的信息處理流程?
應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層 請求信息分為幾個部分? 四個部分
通用頭域、請求消息、響應消息和主體消息
請求方式共計有幾種?我們常用的是哪2中請求方式? 八種 1.Get 2.Head 3.Put
4.5.6.7.8.Delete Post Options Trace Connect 最常用的兩種:post/get 請求行中包含哪些信息內容?
請求方法、URI、HTTP版本,最后以回車換行結尾,各個元素之間用空格字符隔開。請求頭中會包含哪些信息?
通用頭域包含請求和響應消息都支持的頭域,通用頭域包含緩存頭部Cache-Control、Pragma及信息性頭部Connection、Date、Transfer-Encoding、Update、Via。
響應信息分為幾個部分? 狀態行,響應頭,空行,消息體
一個狀態行、若個消息頭、已經響應正文、其中的一些消息頭和正文都是可選的,消息頭和正文內容之間要用空格隔開
狀態行中包含哪些信息?
HTTP版本號
狀態碼分幾類?分別代表啥意思?列舉常見的狀態碼及其含義?
100-199 用于指定客戶端應相應的某些動作。
200-299 用于表示請求成功。
300-399 用于已經移動的文件并且常被包含在定位頭信息中指定新的地址信息。
400-499 用于指出客戶端的錯誤。
500-599 用于支持服務器錯誤。常見:
200:服務器成功返回網頁 302:臨時移動
404:請求的網頁不存在
502:錯誤網關
503:服務器超時
Continue 初始的請求已經接受,客戶應當繼續發送請求的其余部分 101 Switching Protocols 服務器將遵從客戶的請求轉換到另外一種協議 200 OK 一切正常,對GET和POST請求的應答文檔跟在后面 201 Created 服務器已經創建了文檔,Location頭給出了它的URL。202 Accepted 已經接受請求,但處理尚未完成。203 Non-Authoritative Information 文檔已經正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝 204 No Content 沒有新文檔,瀏覽器應該繼續顯示原來的文檔。如果用戶定期地刷新頁面,而Servlet可以確定用戶文檔足夠新,這個狀態代碼是很有用的 205 Reset Content 沒有新的內容,但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容
206 Partial Content 客戶發送了一個帶有Range頭的GET請求,服務器完成了它 300 Multiple Choices 客戶請求的文檔可以在多個位置找到,這些位置已經在返回的文檔內列出。如果服務器要提出優先選擇,則應該在Location應答頭指明。301 Moved Permanently 客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL。302 Found 類似于301,但新的URL應該被視為臨時性的替代,而不是永久性的。303 See Other 類似于301/302,不同之處在于,如果原來的請求是POST,Location頭指定的重定向目標文檔應該通過GET提取 304 Not Modified 客戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。
305 Use Proxy 客戶請求的文檔應該通過Location頭所指明的代理服務器提取 307 Temporary Redirect 和302(Found)相同。許多瀏覽器會錯誤地響應302應答進行重定向,即使原來的請求是 POST,即使它實際上只能在POST請求的應答是303時才能重定向。由于這個原因,HTTP 1.1新增了307,以便更加清除地區分幾個狀態代碼: 當出現303應答時,瀏覽器可以跟隨重定向的GET和POST請求;如果是307應答,則瀏覽器只能跟隨對GET請求的重定向。400 Bad Request 請求出現語法錯誤。401 Unauthorized 客戶試圖未經授權訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據此顯示用戶名字/密碼對話框,然后在填寫合適的Authorization頭后再次發出請求。
403 Forbidden 資源不可用。404 Not Found 無法找到指定位置的資源 405 Method Not Allowed 請求方法(GET、POST、HEAD、Delete、PUT、TRACE等)對指定的資源不適用。406 Not Acceptable 指定的資源已經找到,但它的MIME類型和客戶在Accpet頭中所指定的不兼容 407 Proxy Authentication Required 類似于401,表示客戶必須先經過代理服務器的授權。408 Request Timeout 在服務器許可的等待時間內,客戶一直沒有發出任何請求。客戶可以在以后重復同一請求。409 Conflict 通常和PUT請求有關。由于請求和資源的當前狀態相沖突,因此請求不能成功。410 Gone 所請求的文檔已經不再可用,而且服務器不知道應該重定向到哪一個地址。它和404的不同在于,返回407表示文檔永久地離開了指定的位置,而404表示由于未知的原因文檔不可用。411 Length Required 服務器不能處理請求,除非客戶發送一個Content-Length頭。412 Precondition Failed 請求頭中指定的一些前提條件失敗 413 Request Entity Too Large 目標文檔的大小超過服務器當前愿意處理的大小。如果服務器認為自己能夠稍后再處理該請求,則應該提供一個Retry-After頭 414 Request URI Too Long URI太長
416 Requested Range Not Satisfiable 服務器不能滿足客戶在請求中指定的Range頭 500 Internal Server Error 服務器遇到了意料不到的情況,不能完成客戶的請求服務器不支持實現請求所需要的功能。例如,客戶發出了一個服務器不支持的PUT求502 Bad Gateway 服務器作為網關或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答
503 Service Unavailable 服務器由于維護或者負載過重未能應答。例如,Servlet可能在數據庫連接池已滿的情況下返回503。服務器返回503時可以提供一個Retry-After頭 504 Gateway Timeout 由作為代理或網關的服務器使用,表示不能及時地從遠程服務器獲得應答 505 HTTP Version Not Supported 服務器不支持請求中所指明的HTTP版本
EGPCS指代的是什么?
指的是可以從服務器配置和請求的信息中獲取的信息,它包括了environment、GET、POST、cookie、server
怎么獲取訪問用戶的IP地址? getenv(“HTTP_ X_FORWARDED_FOR”);
請求中的Get和Post區別?
get是從服務器上獲取信息,post是向服務器傳送數據,現在都是提交
如果要上傳文件需要進行哪些設置? enctype=“multipart/form-data” 上傳文件的信息怎么提取?
FILES[] 怎么獲取當前文件的路徑和名稱? echo $_FILES['img']['tmp_name'] echo$_FILES['img']['name']
怎么獲取當前文件的文件夾路徑? Echo __FILE__
怎么解決http無狀態的問題?
創建
表單隱藏字; Cookie; Session; URL重寫;
什么是cookie?
Cookie基本上就是一個包含多個字段的字符串。一臺服務器可以在響應頭部發送一個或多個cookie到瀏覽器。一些cookie的字段指明哪些瀏覽器頁面可以在請求中發送
什么是session?
Session 是存儲在服務器端的會話,相對安全
cookie和session的區別?
cookie數據存放在客戶的瀏覽器上,session數據放在服務器上;
Cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙(考慮到安全應當使用session);
Session會在一定時間內保存在服務器上。當訪問增多時,會比較占用你服務器的性能(考慮到減輕服務器性能方面,應當使用Cookie);
單個cookie保存的數據不能超過4k,很多瀏覽器都限制一個站點最多保存20個cookie; 綜上所述
將登錄信息等重要信息保存到session中,其他信息需要保留,可放在cookie中。
怎么創建設置cookie信息?
使用cookie前必須設置cookie.int setcookie(string name, string value, int expire,string path, string domain, int secure)怎么使用session?
// 啟動Session
session_start();
// 聲明一個名為 admin 的變量,并賦空值。
$_SESSION[“admin”] = null;
$_SESSION[“count“] = $_SESSION[“count”]+1;
echo “這里已經有 $_SESSION[“count“] 人瀏覽過了”;?> session的常見函數有哪些?各有什么用處?
ession_start();
//初始化session.需在文件頭部
$_SESSION[name]=value;//配置Seeeion echo $_SESSION[name];//使用session isset($_SESSION[name]);// 判斷
unset($_SESSION[name]);//刪除
session_destroy(); //刪除所有session,但是寫入cookie的信息無法自動去掉
如果客戶端禁止了cookie怎么處理? ajax ajax的中文名稱? 異步JavaScript和XML
ajax簡述?
也就是說AJAX 是與服務器交換數據并更新部分網頁的藝術,在不重新加載整個頁面的情況下。
AJAX 是一種用于創建快速動態網頁的技術。
通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面。ajax中包含哪些技術?
7項技術,其中Javascript、XMLHttpRequest、Dom、XML是最為重要
ajax對象有哪些常用函數,及其功能?
Abort():停止當前請求;
getAllResponseHeaders():作為字符串返回完整的headers;
getResponseheader(“hederLabel”):作為字符串返回單個的header標簽;Open(“method”,“URL”[,asyncFlag[,”userName”[,”password”]]]):設置未決的請求的目標URL方法和其他參數;Send(content):發送請求;
setRequestHeader(“label”,”value”):設置header并和請求一起發送;
ajax對象的常用屬性有哪些?
Onreadystatechange:狀態改變的事件觸發器 readyState:對象狀態(integer):0=未初始化,1=讀取中,2=已讀取,3=交互中,4=完成
responseText:服務器進程返回數據的文本
responseXML:服務器進程返回數據的兼容DOM的XML文檔對象 Status:服務器返回的狀態碼,如404=“文件未找到”、200=“成功” statusText:服務器返回的狀態文本信息
jquery的ajax函數格式及其常用參數、寫法?
$.ajax({
type: ”POST“, //請求方式
url: ”jqajax1.php“,//請求的地址
data: ”username=“+$(”input[type='text']“).val(), //請求的參數字符串
dataType: ”json“, //設置返回的數據類型,默認值為”text“
success: function(msg){//接收成功返回的數據結果
$(”#div1“).html(”接收的返回值: “ + msg);
},error: function(msg){
$(”#div1“).html(”有錯誤了: “ + msg);
}
});php+mysql(mysql函數)
要連接mysql之前的要設置什么?
在您能夠訪問并處理數據庫中的數據之前,您必須創建到達數據庫的連接。
php操作mysql數據庫的步驟?
mysql_connect()
建立數據庫連接 mysql_select_db()
選擇操作的數據庫 mysql_query()
執行SQL語句 mysql_fetch_array()
返回一行記錄(數組)mysql_num_rows()
返回結果集中行的數目 mysql_close()
關閉數據庫
創建數據庫連接的函數?參數有幾個?每個參數代表什么含義?
mysql_connect()建立數據庫連接 參數共計5個:
第一個參數:服務器名稱或者地址,同時可以加上端口號(如果是默認的3306,則可以省略);
第二個參數:登錄的用戶名; 第三個參數:登錄密碼;
第四個參數:是否使用可能重名的相同連接對象(如果該對象已經創建),默認為false;
第五個參數:常量組合,設置連接的模式,默認值為0;
(連接成功,返回結果為資源類型;如果失敗,報錯并且返回false)
怎么選擇要操作的數據庫名稱?
mysql_select_db(“數據庫名稱”)選擇操作的數據庫
執行sql語句的函數?該函數返回值是什么類型?
mysql_query();僅對select,show,describe或explain等語句如果成功就返回資源類型; 對于update,delete,drop,insert等語句,成功返回true,失敗返回false。
怎么獲取查詢結果集的數量?
Mysql_result(), mysql_fetch_row(),mysql_fetch_array()
怎么提取結果集中的數據?提取出來的數據是什么樣的格式?
mysql_fetch_array();
MYSQL_ASSOC():返回的數組將以該記錄的字段名稱作為下標 MYSQL_NUM():返回的數組以從0開始的數字為下標
MYSQL_BOTH:返回的數組既可以用字段名為下標,也可以用數字為下標
怎么關閉數據庫連接? mysql_close();其他
empty()empty()函數檢查一個變量是否為空或零值,如果變量值是非空或非零值,則empty()返回FALSE,否則返回TRUE
isset()isset()函數來檢查變量是否存在gettype()gettype()獲取變量的類型 settype()一種強制轉換類型的函數方法
語法格式:bool settype(mixed $var, string $type)例如:$var=”123hello“;//$var為字符串
settype($var, ”int");//$var現在為整型(值為123)
錯誤控制運算符 @ 將其放置在PHP表達式之前,該表達式可能產生的任何錯誤信息都將被忽略
執行運算符 ` PHP支持一個執行運算符,即反引號(``)
在PHP腳本中,將外部程序的命令行放入反引號中,并使用echo()或print()函數將其顯示,PHP將會在到達該行代碼時啟動這個外部程序,并將其輸出信息返回,其作用效果與shell_exec()函數相同
反引號運算符在激活了安全模式或者關閉了 shell_exec()時是無效的。與其它某些語言不同,反引號不能在雙引號字符串中使用。
字符串拼接.使用“.”
定界符 <<<+名稱
“<<<”之后提供一個標志符,然后是字符串,最后用同樣的標志符結束字符串。結束標志符必須從行的第一列開始,標志符必須遵循PHP中標記的命名規則:只能包含字母、數字、下劃線,而且必須以下劃線或非數字字符開始
第三篇:PHP基礎培訓班教學大綱
PHP基礎培訓班教學大綱
無它,唯手熟爾。只要功夫深鐵杵磨成針。繩鋸木斷。不要拘泥于對與錯。學歷與技術。
PHP簡介&市場、網站原理 asp/php/jsp/java 百度 網易 新浪 搜狐 騰訊 Facebook 開心網 淘寶 論壇
HTML 語法:<標簽 屬性=”屬性值”>作用文字標簽> 介紹font、table表格、a、hr、div、img、ul&li。介紹form表單。
CSS樣式表。(color、background、font-size、margin、text-align)
JavaScript。
PHP 環境和手冊準備。AppServ、EditPlus。基本語法(起始符)運行流程(從上往下)數據類型(布爾型、整型、浮點型、字符串、數組)變量 常量 賦值
運算符(字符串運算符、算術運算符、字符串運算符)結構
1、流程控制(if、while、for)
2、文件包含。
函數(str_replace、strtolower、strlen、ceil、floor、date、md5)數組(explode、print_r、var_dump)
文件操作&存儲(file_get_contents、unlink)計數器 GD圖像函數庫 自定義函數 遞歸 SESSION 購物車 COOKIE 文字留言本
正則表達式(查找、替換、分割)
模板引擎(Smarty、SmartTemplate、PHPlib)Debug方式。
MySQL 環境和手冊準備。PhpMyAdmin。
服務器、數據庫、數據表、字段之間的關系。
數據庫編碼。數據表類型。字段類型(varchar、int、text、float)。PhpMyAdmin的使用方法。
數據庫基本操作(select、insert、update、delete)。
綜合應用
第四篇:學php需要哪些基礎?程序員需要哪些素質呢?
www.tmdps.cn
學php需要哪些基礎?程序員需要哪些素質呢?
中國每年有大量的計算機類畢業生進入企業,企業會把那些程序員列入優秀人才加以重視呢?斬獲高薪的程序員需要哪些素質呢?
團隊精神和協作能力
團隊精神是程序員應該具備的基本素質,任何個人的力量都是有限的。即便如Linus這樣的天才,也需要通過組成強大的團隊來創造奇跡。那些遍布全球的為Linux寫核心的高手們,沒有協作精神是不可想象的。獨行俠可以作一些賺錢的小軟件發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺乏團隊精神的人就完全不合格了。
文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未干的毛孩子,條理清晰的文檔是正規研發流程中 非常重要的環節。作為代碼程序員,3成的工作時間寫技術文檔是很正常的,而作為高級程序員和系統分析員,這個比例還要高很多。缺乏文檔,一個軟件系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。
四川地處中國大西南,肥沃的土地,豐富的自然資源,悠久的歷史和絢爛多彩的少數民族文化,構成了多樣性的自然和文化旅游資源。每到中考季,很多初中生總是為自己的未來前途擔心,尤其是一些學習成績不好的初中生,他們不知道中考沒考上怎么辦。同時許多家長也擔心,自己的孩子年齡還小,進入社會顯然不合適。這個時候職業培訓學校更加適合,放眼眾多學院,四川國信安職業培訓學校無疑是非常合適的。
尋尋覓覓,走馬觀花,你在it培訓這條路上看了多久?走了多遠?你是否還在為它而困擾?你是否發現找到一個心儀的實在太麻煩!其實選擇也可以很簡單!讓小編帶你走進it培訓,來了解些實用干貨。接下來就讓小編帶你來看看it培訓相關的情況吧~請看下文~
www.tmdps.cn
學php需要哪些基礎?這是很多人在學習php之前想到的一點,因為大家都覺得這門課程很陌生,也擔心自己會學習的非常吃力。但同時,php領域的高工資又誘惑著大家,即使是小白都想快速成為高手。
學php需要哪些基礎?從培訓機構的角度來講,大家不需要有任何基礎,因為不管你是行業精英還是初始學習者,學校都會給大家提供適合自己的課程,有的以基礎班為準,有的以提升班為準,課程方向不同,學習的深度就有所差別。知道了培訓機構的課程設置之后,我們就應該充分考慮一下自己的現狀了。建議小白人員從最基礎的理論部分開始學習,先不要忙著去實踐,先掌握知識的來龍去脈,等到有了自己的思考和理解之后再去進修即可。國信安教育基地給出了循序漸進的學習方法,只為給大家提供優良的學習思路,從而讓每個人成為行業精英。
學php需要哪些基礎?因此大家根本不用擔心基礎問題,國信安教育基地會給出適合你的學習方案和計劃,大家只需要按部就班的跟著老師的思路執行即可。不管你是不是行業小白,相信在國信安這種培訓機構的帶領下,我們會快速認識到php相關的概念和知識,從而讓你成為唾手可得的人才,進而在求職市場中獲得更多公司的青睞。至于學習時間,需要根據大家的時間安排進行設定,如果每天學習幾個小時,不出幾個月,你就成為php領域的專家了。
國信安IT培訓基地指定的官方IT人才培訓機構。專注java培訓、php培訓、UI設計培訓、IOS培訓、安卓培訓、嵌入式培訓、.NET培訓、web前端培訓等培訓課程。你們準備好怎么學習IT技術了嗎?來參加國信安IT培訓課程,你的選擇不會有錯!
第五篇:php課程總結
一、時間和地點:
每周四上午在F311上課。
二、課程內容:
通過這段時間的學習,我對PHP中的MySQL數據庫有了一定的理解。由于以前沒有基礎,在老師講課的過程開始有點費盡,盡量記了一些。首先學習了一些定義:MySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQL AB公司。目前MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。
數據(Data)是對客觀事物的符號表示,如圖形符號、數字、字母等,數據是數據庫中存儲的基本對象。在日常生活中,人們直接用語言來描述事物;在計算機中,為了存儲和處理這些事物,就要將事物的特征抽象出來組成一個記錄來描述。之后,進行數據的編寫,知道了數據庫的發展史:人工管理階段(人力手工整理存儲數據)、文件系統階段(使用磁盤文件來存儲數據)、數據庫系統階段、關系型數據庫、高級數據庫階段、“關系-對象”型數據庫。再然后學習了數據庫的類型:
(1)純文本數據庫: 純文本數據庫是只用空格符、制表符和換行符來分割信息的文本文件。適用于小型應用,對于大中型應用來說它存在諸多限制:
? 只能順序訪問,不能進行隨機訪問。? 查找數據和數據關系或多用戶同時訪問進行寫操作時非常困難。
(2)關系數據庫:
由于純文本數據庫存在諸多局限,所以人們開始研究數據模型,設計各種類型的使用方便的數據庫。在數據庫的發展史上,最具影響的數據庫模型有:層次模型、網狀模型和關系模型。其中,關系模型是目前應用最廣泛和最有發展前途的一種數據模型,其數據結構簡單,當前主流的數據庫系統幾乎都采用關系模型。數據庫管理系統:數據庫管理系統(Database Management System)是一種操縱和管理數據庫的大型軟件,是用于建立、使用和維護數據庫,簡稱DBMS。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。
MySQl特征:性能快捷、優化SQL語言、容易使用、多用戶支持、可移植性和開放源代碼、遵循國際標準和國際化支持、為多種編程語言提供API。
? mysql命令:mysql命令
mysql-h host_name-u user_name –ppassword ? h:當連接MySQL服務器不在同臺主機時,填寫主機名或IP地址 ? u:登錄MySQL的用戶名 ? p:登錄MySQL的密碼
? 注意:密碼如果寫在命令行的時候一定不能有空格。如果使用的系統為linux并且登陸用戶名字與MySQL的用戶名相同即可不用輸入用戶名密碼,linux默認是以root登陸,windows默認用戶是ODBC mysql程序常用命令:選定默認數據庫:use dbname;顯示所有數據庫:show databases;顯示默認數據庫中所有表:show tables;放棄正在輸入的命令:c;顯示命令清單:h;退出mysql程序:q;查看MySQL服務器狀態信息:s 接著我們講了數據庫基礎知識,在此課中我們了解了數據庫: 數據庫由一批數據構成的有序集合,這些數據被分門別類地存放在一些結構化的數
據表(table)里,而數據表之間又往往存在交叉引用的關系,這種關系使數據庫又被稱為關系型數據庫 檔案柜=數據庫 抽屜=表 文件=記錄
一、數據庫的組成以及功能
1、SQL語法組成:DML(Data Manipulation Language數據操作語言)
——查詢、插入、刪除和修改數據庫中的數據; ——SELECT、INSERT、UPDATE、DELETE等;
DCL(Data Control Language數據控制語言)
——用來控制存取許可、存取權限等; ——GRANT、REVOKE 等;
DDL(Data Definition Language數據定義語言)——用來建立數據庫、數據庫對象和定義其列
——CREATE TABLE、DROP TABLE、ALTER TABLE 等 功能函數
——日期函數、數學函數、字符函數、系統函數等
2、MysQl數據庫增刪改查:
數據庫的操作:增、刪、改、查
增 create database name、刪 drop database name、查 show databases 改 沒有修改數據庫的語句、可以修改數據庫的名字
Myisan 直接進入mysql data文件夾進行修改、Innodb 不可以改名,只能重建 幾個重要的數據庫:
Informatio_schema 存儲數據庫的各種信息用戶信息,列表信息,字符集信息等等?.Mysql用戶權限信息
Test 僅供用戶使用的測試數據庫,可以隨意使用 Cluster 服務器數據集,不可以刪除
Phpmyadmin mysql圖形管理軟件的一種web
3、數據表的操作
Use 數據庫名; 增 create table 表名(字段名 字段類型[約束條件],字段名 字段類型[約束條件]。。)
刪 drop table 表名 改
查 show tables
4、數據類型種類:
? 數值型
分為整型和浮點型
? 整型:可以由十進制和十六進制表示
整數由數字序列組成,如:1,100。
由十六進制表示方法:0x且后面加1—9和A—F 的任意數字或字母,并且0x中的X不能大寫。
? 浮點型:
浮點數由一個數字加一個小數點再加上一個數字組成。兩個數字序列不能同時為空。
數值列的完整性約束
(1)AUTO_INCREMENT 自動標識列,在需要產生唯一標志符號或者順序值時候,可用此屬性。值一般從1開始,每行增加1,在插入NULL到一個AUTO_INCREMENT列時,MySQL會插入一個比該列中當前最大值大1 的值,一個表中最多能有一個有此屬性的列。對于想使用此屬性的列應該定義為NOT NULL,并定義為PRIMARY KEY 或者定義為UNIQUE鍵。
舉例:
create table t(id int auto_increment not null primary key);(2)UNSIGNED 無符號,此屬性禁用負值,將數值的取值范圍從零開始。舉例:
create table t(num tinyint , num2 tinyint unsigned);(3)NULL和NOT NULL 默認為NULL,即插入值時沒有在此字段插入值時自動填NULL,如果指定了NOT NULL,則必須在插入值時在此字段添入值,不允許插入NULL值。(4)DEFAULT 可以通過此屬性來指定一個缺省值,即如果沒有在此列添加值,那么默認添加DEFAULT后指定值。(5)ZEROFILL 前導零填充數值類型值以達到列的顯示寬度。
舉例:
create table test2(num1 int default 1,num2 int zerofill);CHAR和VARCHAR類型:
CHAR類型和VARCHAR類型長度范圍都是0~255之間的大小。他們之間的差別在于MySQL處理存儲的方式:
CHAR把這個大小視為值的準確大小(用空格填補比較短的值)。
VARCHAR類型把它視為最大值并且只使用了存儲字符串實際上需要的字節數(增加了一個額外的字節記錄長度)。因而,較短的值當被插入一個語句為VARCHAR類型的字段時,將不會用空格填補(然而,較長的值仍然被截短)。
5、創建數據庫:
建立數據庫操作:
語法:create database 數據庫名
敘述:創建一個具有指定名稱的數據庫。如果要創建的數據庫已經存在,或者沒有創建它的適當權限,則此語句失敗。例:建立一個student庫。
mysql> create database student;創建表:建立表操作:
語法:create table 表名(? 列名1 列類型 [<列的完整性約束>], ? 列名2 列類型 [<列的完整性約束>], ?......);敘 述:在當前數據庫下新創建一個數據表。
列類型:表示該列的數據類型。例:
建立一個表school,其由兩列組成,第一列屬性為非空,并做為主鍵,并自增
? create table school(? school_id int(10)not null auto_increment primary key, ? school_name varchar(20)
?);
6、主鍵與外鍵:數據表之間的關聯/引用關系是依靠具體的主鍵(primary key)和外鍵(foreign key)建立起來的。
(1)主鍵:幫助MySQL以最快的速度把一條特點的數據記錄的位置確定下來。
主鍵必須是唯一的
主鍵應該是緊湊的,因此整數類型比較適合
主鍵
create table student(sid int not null auto_increment, name varchar(20)not null, primary key(sid));(2)外鍵:引用另外一個數據表的某條記錄。
外鍵列類型盡可能與主鍵列類型保持一致 外鍵列應該加上NOT NULL 外鍵(自動檢查外鍵是否匹配,僅適用InnoDB)
create table score(cid int not null auto_increment primary key, score int, sid int, foreign key(sid)references student(sid));
7、刪除數據庫或表操作
? 刪除表操作
語法:drop table [if exists] tab_name [,tab_name]...敘述:從數據庫中刪除給定的表。如果給出if exists 子句,則刪除不存在的表不會出錯。
? 刪除數據庫操作
語法:drop database [if exists] db_name 敘述:刪除給定的數據庫。在刪除一個數據庫后,它就永遠沒有了,因此要特別小心。如果給出if exists 子句,則刪除不存在的數據庫不會出錯。
更改表結構操作:
?
語法:alter table 表名 action;? 說明:action 可以是如下語句:
? add 列名 建表語句 [first | after 列名] 可以為表添加一列,如果沒指定first或者after,則在列尾添加一列,否則在指定列添加新列
? add primary key(列名)為表添加一個主鍵,如果主鍵已經存在,則出現錯誤
? add foreign key(列名)references 表名(列名)為表添加一個外鍵
? alter 列名 set default 默認值
可以更改指定列默認值
舉例1:
向people表中添加字段address2,類型為varchar,最大長度為100 ? alter table people add address2 varchar(100);
8、插入記錄操作
? 敘述:
如果表名后面沒寫字段名,則默認是向所有的字段添加值,另外字符串值應該用‘ ’或“ ”引號括起來
? 舉例1:向people表中添加一條記錄:
insert into people(name,age)
values(“zhangsan”,20);多表查詢—分類
? 連接查詢
? 同時涉及多個表的查詢稱為連接查詢 ? 用來連接兩個表的條件稱為連接條件
? 內連接(INNER JOIN)? 外連接
——左外聯結(LEFT JOIN)——右外聯結(RIGHT JOIN)
二、算數運算符
(1)用字符串表示的數字在任何可能便于計算的地方都被自動地轉換為數字。當執行轉換時,MySQL遵循兩個基本規則:
? 如果第一位是數字的字符串被用于一個算數運算中,那么它被轉換為這個數字的值。? 如果一個包含字符和數字混合的字符串不能被正確的轉換為數字,那么它被轉換成0。
(2)比較運算符
? 比較運算符允許我們對表達式的左邊和右邊進行比較。一個比較運算符的結果總是1(真),0(假),或是為NULL(不能確定)。? 比較運算符可以用于比較數字和字符串。數字作為浮點值比較,而字符串以不區分大小寫的方式進行比較(除非使用特殊的BINARY二進制關鍵字)
在第二章中我們學習到了數據庫的連接。
1、mysql 連接:
七劍下天山
// 第一賤:連接數據庫
? mysql_connect — 打開一個到 MySQL 服務器的連接
? mysql_pconnect — 打開一個到 MySQL 服務器的持久連接
? //resource mysql_connect([ string $server [, string $username [, string
$password [, bool $new_link [, int $client_flags ]]]]])(在php手冊中有 ? //mysql 連接:
? // mysql_connect 非持久連接,效率較低,對資源消耗小 ? // mysql_pconnect 持久連接,效率高,消耗大量的資源 ? $link=mysql_connect('localhost:3306','root','root');? var_dump($link);// 第二賤:判斷連接是否成功
? //第二賤:判斷連接是否成功//mysql_errno — 返回上一個 MySQL 操作中的錯誤信息的數字編碼
? //mysql_error — 返回上一個 MySQL 操作產生的文本錯誤信息
? //echo mysql_errno();正確返回0,錯誤返回一個正整數,輸出最近一次的mysql錯誤。
// 第三賤:設置字符集
? bool mysql_set_charset(string $charset [, resource $link_identifier ])? //mysql_set_charset — Sets the client character set ? //bool mysql_set_charset(string $charset [, resource $link_identifier ])? mysql_set_charset('utf8');// 第四賤:選擇數據庫
? //mysql_select_db — 選擇 MySQL 數據庫 ? mysql_select_db('company11');? mysql_select_db — 選擇 MySQL 數據庫 ? 說明
? bool mysql_select_db(string $database_name [, resource $ link_identifier ])? 成功時返回 TRUE,或者在失敗時返回 FALSE.? mysql_select_db()設定與指定的連接標識符所關聯的服務器上的當前激活數據庫。如果沒有指定連接標識符,則使用上一個打開的連接。如果沒有打開的連接,本函數將無參數調用 mysql_connect()來嘗試打開一個并使用之。
// 第五賤:準備并且發送sql語句
? //$sql='select * from biao';? //mysql_query($sql)//mysql_query — 發送一條 MySQL 查詢
//resource mysql_query(string $query [, resource $link_identifier ])// 第六賤: 判斷執行結果,或者遍歷結果集
? //增刪改的判斷
? $result=mysql_query($sql);(放入第五賤)? if($result && mysql_affected_rows()){ ?
echo '執行成功';? }else{ ?
echo '執行失敗,或者不存在數據';? } ? $sql=“insert into zhiyuan(name,sex,bumen)values('zhou',0,2)”;? $sql=“update zhiyuan set bumen=3 where name='小王'”;? $sql=“insert into zhiyuan(name,sex,bumen)values('小王',0,2)”;// 第七賤:萬賤歸宗 */
之后,學習了面向對象。
1、面對對象技術的基本觀點如下:
(1)客觀世界由對象組成。
(2)具有相同數據(屬性)和操作(方法)的對象可歸納成類。
(3)類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性(4)對象之間的聯系通過消息傳遞(可理解為方法調用)來維系。
假設m1是類Manager的一個實例(或對象),當外界要求把這個對象所 代表的那位經理的級別改變為2時,就應以下面的方式向這個對象發出一條消息: ml.ChangeLevel(2)消息傳遞
PHP的WEB技術面向對象是仿造現實對象建立的,他們也有狀態和行為。軟件對象在一個 或多個變量中維護它的狀態。變量是一個由標識符命名的數據項。對象用方法實現它的行為。方法是與一個對象相關聯的函數(子過程)。
? 對象有二個性質:狀態(state)和行為(behavior)。? 對象是一個封裝數據屬性和操作行為的實體.2、面向對象
將相關的變量和方法封裝進一個簡潔的軟件組合是一種簡單而強大的思想,它給軟件開發人員提供了兩個主要的好處:
模塊化:一個對象的源代碼可以獨立于其他對象的源代碼進行編寫和維護。另外,對象很容易地在系統中傳遞。你可以將你的自行車對象交給其他人,而它仍然會正常工作。(重構、代碼復用)
隱藏信息:對象有一個公共接口,其他對象可以使用這個接口與它通信。對象可以維護私有的信息和方法,可以在任何時候改變這些信息和方法,而不影響依賴于它的其他對象。你不需要理解你自行車使用的變速齒輪機制就能夠使用它。即是:封裝
3、類
類是一組具有相同數據結構和相同操作對象的集合。
在現實世界中,常常有相同類型的許多對象。例如,你的自行車只是世界上的許多自行車之一。用面向對象的術語來說,你的自行車對象是自行車類的一個實例。自行車有一些共有的狀態(當前的變速齒輪、當前的步調、兩個輪子)和行為(改變變速齒輪、剎車)。但是,每輛自行車狀態獨立于其他自行車狀態,也就說每輛自行車的狀態可以互不相同。
? function jia($no1,$no2){ ?
return $no1+$no2;? } ? function jian($no1,$no2){ ?
return $no1-$no2;? } ? function cheng($no1,$no2){ ?
return $no1*$no2;? } ? function chu($no1,$no2){ ?
return $no1/$no2;? } ? function max(){
? echo '我是最大值';? }
4、類的成員-字段(1)、聲明字段 name;?>(2)使用字段
? 與變量不同,使用字段要使用->操作符,而不是美元符號
– $employee=new Staff();– echo $employee->name;? 當在定義字段的類中引用字段時要使用$this關鍵字。$this表示當前類
5、、構造函數
構造函數是類中的一個特殊函數,當使用 new 操作符創建一個類的實例時,構造函數將會自動調用。
Php5中以__construct()作為構造函數。而php4中是以將和類名相同的函數作為構造函數。為了兼容php5先尋找__construct(),如果找不到再尋找以類名命名的構造函數
如果一個類沒有構造函數,則調用基類的構造函數 Class Staff { function __construct()//兩個下劃線 { echo “調用了構造函數”;} function Staff(){ echo “調用了構造函數2”;} } $employee=new Staff();? //構造方法 函數
? //特點,就是在new 的時候也就是調用這個殼的時候就進行了調用的方法
? //寫法:php4中只認識一種 類名和函數名相同的話,那個函數就是使構造方法 ? //php5中 類名和函數名相同/__construct()都是構造方法
? //注意:構造方法在類中只能有一個 不要寫多個 使用PHP4的或者PHP5的兩個相同構造方法會報重載錯誤
? //但是如果一個PHP4的一個PHP5的構造方法就不會報錯,但是邏輯有問題
? //構造方法的參數傳值,是在調用類的時候()放的就是為構造方法準備的參數 //析構方法 函數 __destruct()? //特點,析構方法是在調用完之后,自動執行 在接收類調用的變量改值的時候/或者頁面結束 自動啟動
? //聲明關鍵字 [private protected public var ]
6、析構函數
(1)析構函數會在到某個對象的所有引用都被刪除或者當對象被顯式銷毀時執行。腳本執行結束時,php會撤銷內存中的所有對象,因此如果實例化時創建的信息都會保留到內存中,就不需要顯式的聲明析構函數。但是如果創建了不那么容易丟失的數據時(例如連接數據庫)就應當定制析構函數進行銷毀數據。Class Staff { function __construct(){ echo “調用了構造函數”;} function __destruct(){ echo “調用了析構函數,需要釋放和銷毀的“;} } $employee=new Staff();(2)類的成員-屬性_set()__set()//兩個下劃線
$this->$propname=$propvalue;
print ”ok
“;} } $model=new Test();$model->age=25;$model->title=”English“;echo ”
“;print ”age: “.$model->age.”
“;echo ”
“;print ”title: “.$model->title.”
“;?> 可用來驗證某個屬性是否存在或增加新的屬性
7、控制對類的成員訪問
(1)public :在任何位置都可以讀取和修改這個成員變量或者調用這個方法。這個修飾符在外部代碼使用,由給定類中的代碼使用,或者在擴展給定類的功能的類中使用。
(2)private : 只有這個類中的代碼才能讀取和修改私有變量或者調用私有成員函數。其他代碼、類或者擴展這個類的功能類(子類)不能使用私有條目。
(3)protected : 外部代碼與給定類不相關的其他類不能讀取或者修改使用了關鍵字protected的成員變量,也不能調用受保護的成員函數。(4)abstract 定義抽象類
(5)final 子類方法不允許覆蓋父類方法 先了解,下一章重點闡述
8、靜態類成員
當需要一些所有類對象共享的字段和方法時就需要創建一些靜態的字段和方法。Class Staff { public static $name=”靜態字段“;static function show(){
echo self::$name,”
“;} } echo Staff::$name,”
“;Staff::show();
9、常量
常量(const)即不會在類中改變的值,對于該類的任何實例化的對象來說 常量值在這些對象的整個生命周期中都保持不變 Class Staff { const CITY=“北京”;} echo Staff::CITY;
之后,學習了PHP正則表達式
1、正則表達式簡介
正則表達式是用于描述字符排列模式一種語法規則。它主要用于字符串的模式分割、匹配、查找及替換操作。到目前為止,我們前面所用過的精確(文本)匹配也是一種正則表達式。
在PHP中,正則表達式一般是由正規字符和一些特殊字符(類似于通配符)聯合構成的一個文本模式的程序性描述。
在程序語言中,通常將模式表達式(即正則表達式)包含在兩個反斜線“/”之間,如“/apple/”。用戶只要把需要匹配的模式內容放入定界之間即可。
如果使用一個沒有特殊字符的正則表達式,相當于純文本搜索,使用strstr()函數也可達到同樣的效果。
2、^ 和 $ ”^The“: 開頭一定要有”The“字符串;”of despair$“: 結尾一定要有”of despair“ 的字符串;那么, ”^abc$“: 就是要求以abc開頭和以abc結尾的字符串,實際上是只有abc匹配
”notice“: 匹配包含notice的字符串 你可以看見如果你沒有用我們提到的兩個字符(最后一個例子),就是說 模式(正則表達式)可以出現在被檢驗字符串的任何地方,你沒有把他鎖定到兩邊(開始或結束)
3、'*', '+',和 '?', * 表示出現0次或1次或多次 相當于{0,}, + 表示出現1次或多次 相當于{1,}, ? 表示出現0次或1次 相當于{0,1}, 這里是一些例子: ”ab*“: 和ab{0,}同義,匹配以a開頭,后面可以接0個或者N個b組成的字符串(”a“, ”ab“, ”abbb“, 等);”ab+“: 和ab{1,}同義,同上條一樣,但最少要有一個b存在(”ab“, ”abbb“, 等.);”ab?“:和ab{0,1}同義,可以沒有或者只有一個b;”a?b+$“: 匹配以一個或者0個a再加上一個以上的b結尾的字符串.要點, '*', '+',和 '?'只管它前面那個字符.4、[ ] 中括號括住的內容只匹配一個單一的字符
”[ab]“: 匹配單個的 a 或者 b(和 ”a|b“ 一樣);”[a-d]“: 匹配'a' 到'd'的單個字符(和”a|b|c|d“ 還有 ”[abcd]“效果一樣);一般我們都用[a-zA-Z]來指定字符為一個大小寫英文 ”^[a-zA-Z]“: 匹配以大小寫字母開頭的字符串 ”[0-9]%“: 匹配含有 形如 x% 的字符串
”,[a-zA-Z0-9]$“: 匹配以逗號再加一個數字或字母結尾的字符串
5、正則表達式的語法規則
正則表達式是主要由: ? 原子(普通字符,如英文字符)? 元字符(有特殊功用的字符)? 以及模式修正字符組成。
一個正則表達式中至少包含一個原子。
6、PHP中的正則表達式函數
在PHP中有兩套正則表達式函數庫。
? 一套是由PCRE(Perl Compatible Regular Expression)庫提供的。PCRE庫使用和perl相同的語法規則實現了正則表達式的模式匹配,其使用以“preg_”為前綴命名的函數。
? 另一套是由POSIX(Portable Operation System interface)擴展庫提供的。POSIX擴展的正則表達式由POSIX 1003.2定義,一般使用以“ereg_”為前綴命名的函數。
? 兩套函數庫的功能相似,執行效率稍有不同。一般而言,實現相同的功能,使用PCRE庫的效率略占優勢。
7、、正則表達式的拆分
1split()和spliti()函數原型:
? array split(string $pattern,string $string[,int $limit])本函數返回一個字符串數組,每個單元為$string經正則表達式$pattern作為邊界分割出的子串。如果設定了$limit,則返回的數組最多包含$limit個單元。而其中最后一個單元包含了$string中剩余的所有部分。Spliti是split的忽略大小版本。
之后,學習了文件系統處理。
open()打開文件或者URL $file=fopen('1.txt','r');//只讀模式打開 //r 只能讀取不能寫入
//r+ 增強的讀寫模式 表示以只讀模式打開,但是仍然可以進行部分的寫入操作 //w 寫模式 打開文件的時候,原有內容會被清空 如果文件不存在就新建一個文件,再打開
//w+ 增強的讀寫模式
//a 追加模式(寫)不會清空原有文件而是在源文件的基礎上進行累加 不存在也可以新建
//a+ 增強的追加模式(讀寫)/x異或模式 文件存在就報錯,不存在就創建 //x+增強的異或模式 //b 打開二進制文件
1、文件的打開
2、文件的刪除
//rename('1.txt','1.exe');/ /刪除
rmdir('C')//刪除空目錄 ?>
3、什么是文件系統
就是對系統或者服務器中的文件進行操作,增刪改查,文件的上傳和下載
4、文件系統能做什么?
a)文件緩存的應用 b)配置文件的應用
c)FTP站點主要是FTP下載站 d)站點頁面的靜態化 e)文件的上傳和下載。
5、文件下載:查找 header
header('content-type:image/gif');//告訴瀏覽器你的文件描述
header('Content-Disposition: attachment;filename=”baidu.gif"');//告訴瀏覽器文件的大小
header('content-length'.filesize('baidu.gif'));//顯示內容
readfile('baidu.gif');?>
三、個人收獲
學習PHP的過程做一下概括:
(1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行制作完整的網頁,對元素屬性達到熟悉程度
(2)理解動態語言的概念,運做機制,熟悉PHP語法
(3)學習如何將PHP與HTML結合起來完成簡單動態頁面
(4)接觸MYSQL,開始設計數據庫程序
(5)不斷鞏固,摸透大部分PHP常用函數,并可理解OOP,MYSQL優化,以及模板
(6)完成一個功能齊全的動態站點
通過這段時間的學習,自己受益匪淺,知道了很多關于PHP的東西,學會了很多內容。在這堂課的學習過程中我認真聽講,上機認真練習,遇到難題,自己思考與探索,不斷地尋求進步,請教老師和同學,雖然上半年沒有學習這門課程,不過老師講課非常仔細,然后同學們一步步自己跟著老師做,還是能跟得上,等著以后自己做畢業設計也有一定的幫助。