1、PHP 簡介php
PHP 是一種建立動態交互性站點的強有力的服務器端腳本語言。html
PHP 腳本在服務器上執行。數據庫
什麼是 PHP?(超文本預處理器)數組
什麼是 PHP 文件?瀏覽器
PHP 可以作什麼?服務器
爲何使用 PHP?cookie
2、PHP 語法網絡
PHP 腳本在服務器上執行,而後向瀏覽器發送回純 HTML 結果。函數
1 <?php 2 // 這是單行註釋 3 # 這也是單行註釋 4 /* 5 這是多行註釋塊 6 它橫跨了 7 多行 8 */ 9 ?>
3、PHP 基礎工具
1.變量
1 // 變量以`$`符號開頭,其後是變量的名稱 2 // 變量名稱必須以字母或下劃線開頭 3 $a; 4 $b; 5 $a1; 6 $_abc; 7 8 // 變量名稱不能以數字開頭 9 // 變量名稱只能包含字母數字字符和下劃線(`A-z`、`0-9` 以及` _`) 10 // 下面這些是錯誤的變量定義 11 $1; 12 $哈哈; 13 $^&*; 14 15 //變量名稱對大小寫敏感(`$y` 與`$Y` 是兩個不一樣的變量) 16 // 下面定義的兩個變量是不一樣的,大寫,小寫x 17 $x; 18 $X;
2.內容輸出
1 $arr =array(1,2,'123'); 2 echo'123'; 3 // 結果爲 123 4 5 print_r($arr); 6 // 結果爲 Array ( [0] => 1 [1] => 2 [2] => 123 ) 7 8 var_dump($arr); 9 /* 結果爲array 10 0 => int 1 11 1 => int 2 12 2 => string '123' (length=3) 13 */
3.數據類型
1 // 字符串 2 $str = '123'; 3 4 // 字符串鏈接 5 $str2 = '123'.'哈哈哈'; 6 7 // 字符串 8 9 // 整數 10 $numA = 1; //正數 11 $numB = -2;//負數 12 13 // 浮點數 14 $x = 1.1; 15 16 // 布爾 17 $a = true; 18 $b = false; 19 20 // 數組 21 $arr = array('123',123)
4.運算符
1 <?php 2 $x=10; 3 $y=6; 4 echo ($x + $y); // 輸出 16 5 echo ($x - $y); // 輸出 4 6 echo ($x * $y); // 輸出 60 7 echo ($x / $y); // 輸出 1.6666666666667 8 echo ($x % $y); // 輸出 4 9 ?>
5.函數
1 // 基礎語法 2 function functionName() { 3 這裏寫代碼 4 } 5 6 // 無參數 無返回值的函數 7 function sayhi(){ 8 echo "Hello World"; 9 } 10 11 // 有參數 無返回值的函數 12 function sayName($name){ 13 echo $name.'你好哦'; 14 } 15 16 // 調用 17 sayName('小狐狸'); 18 19 // 有參數,參數有默認值的函數 20 function sayFood($food='西蘭花'){ 21 echo $food.'好好吃'; 22 } 23 24 // 調用 25 sayFood('西葫蘆');// 若是傳入參數,就使用傳入的參數 26 sayFood();// 若是不傳入參數,直接使用默認值 27 28 // 有參數,有返回值的函數 29 function sum($a,$b){ 30 return $a+$b 31 } 32 sum(1,2);// 返回值爲1+2 = 3
6.超全局變量
7.表單處理
GET 和 POST 都建立數組(例如,array( key => value, key2 => value2, key3 => value3, ...))。此數組包含鍵/值對,其中的鍵是表單控件的名稱,而值是來自用戶的輸入數據。
1)$_GET 是經過 URL 參數傳遞到當前腳本的變量數組。
2)$_POST 是經過 HTTP POST 傳遞到當前腳本的變量數組。
什麼時候使用 GET?
經過 GET 方法從表單發送的信息對任何人都是可見的(全部變量名和值都顯示在 URL 中)。GET 對所發送信息的數量也有限制。限制在大於 2000 個字符。不過,因爲變量顯示在 URL 中,把頁面添加到書籤中也更爲方便。
GET 可用於發送非敏感的數據。
註釋:毫不能使用 GET 來發送密碼或其餘敏感信息!
什麼時候使用 POST?
經過 POST 方法從表單發送的信息對其餘人是不可見的(全部名稱/值會被嵌入 HTTP 請求的主體中),而且對所發送信息的數量也無限制。
此外 POST 支持高階功能,好比在向服務器上傳文件時進行 multi-part 二進制輸入。
不過,因爲變量未顯示在 URL 中,也就沒法將頁面添加到書籤。
提示:開發者偏心 POST 來發送表單數據。
<form> 標籤的 enctype 屬性規定了在提交表單時要使用哪一種內容類型。在表單須要二進制數據時,好比文件內容,請使用 "multipart/form-data"。
<input> 標籤的 type="file" 屬性規定了應該把輸入做爲文件來處理。舉例來講,當在瀏覽器中預覽時,會看到輸入框旁邊有一個瀏覽按鈕。
8.header
header()函數 用來向客戶端(瀏覽器)發送報頭,若是出現中文沒法顯示,能夠嘗試在PHP代碼頂部添加以下代碼:
header("content-type:text/html; charset=utf-8");
瀏覽器訪問http服務器,接收到響應時,會根據響應報文頭的內容進行一些具體的操做,在php中,咱們可以使用 header來設置這些內容
1)設置文本編碼
設置編碼格式爲:utf-8
header('content-type:text/html; charset= utf-8');
2)設置頁面跳轉
設置跳轉到百度首頁
header('location:http://www.baidu.com');
3)設置頁面間隔刷新
header('refresh:3; url=http://www.xiaomi.com');
4、PHP 表單
1.PHP_GET數據獲取
在PHP中,若是想要獲取經過get方法提交的數據,能夠經過$_GET對象來獲取
HTML代碼: 下面就是一個簡單的表單代碼,將數據提交到01.php,使用get的方式
1 <form action="01.php" method="get" > 2 <label for="">姓名: 3 <input type="text" name= "userName"></label> 4 <br/> 5 <label for="">郵箱: 6 <input type="text" name= "userEmail"></label> 7 <br/> 8 <input type="submit" name=""> 9 </form>
PHP代碼:
<?php echo "<h1>GET_PAGE</h1>"; echo 'userName:'.$_GET['userName']; echo '<br/>'; echo 'userEmail:'.$_GET['userEmail']; ?>
2.PHP_POST數據獲取
在PHP中,若是想要獲取經過post方法提交的數據,能夠經過$_POST對象來獲取
HTML代碼: 下面就是一個簡單的表單代碼,將數據提交到02.php,使用post的方式(注意:代碼中的method改成post)
1 <form action="02.php" method="post" > 2 <label for="">姓名: 3 <input type="text" name= "userName"></label> 4 <br/> 5 <label for="">郵箱: 6 <input type="text" name= "userEmail"></label> 7 <br/> 8 <input type="submit" name=""> 9 </form>
PHP代碼:
1 <?php 2 echo "<h1>POST_PAGE</h1>"; 3 echo 'userName:'.$_POST['userName']; 4 echo '<br/>'; 5 echo 'userEmail:'.$_POST['userEmail']; 6 ?>
3.POST&GET錯誤處理
當咱們直接訪問POST&GET頁面時因爲並無傳遞任何數據,會由於$_GET或$_POST不存在對應的key而報錯.
處理方式1:
使用array_key_exists(key, 數組)函數來進行判斷
參數1: 要檢測的key字符串
參數2: 檢驗的數組
if(array_key_exists('name', $_GET)){
//若是有數據 再去讀取
}else{
// 反之 能夠執行一些 其餘的邏輯
}
5、PHP 保存上傳文件
php中上傳的文件,會先以臨時文件的方式保存起來,咱們將其移動到其餘的位置便可
1.$_FILE
在php中 可以經過$_FILE 獲取上傳的文件
瀏覽器端部分代碼:
1 <form action='xx.php' method='post' enctype='multipart/form-data'> 2 <input type='file' name='icon'> 3 <input type='submit'> 4 </form>
服務端代碼:
1 <?php 2 // 能夠打印 $_FILES的全部信息 3 print_r($_FILES); 4 ?>
2.move_uploaded_file(移動文件)
上傳的臨時文件,一會就會被自動刪除,咱們須要將其移動到保存的位置
move_uploaded_file參數:
參數1:移動的文件
參數2:目標路徑
move_uploaded_file($_FILES['photo']['tmp_name'], './images/test.jpg');
6、PHP設置上傳文件大小
在使用wamp過程當中,若是想要修改上傳的文件顯示,須要如何設置呢?
修改php.ini
1.步驟:
2.修改內容:
使用文本編輯工具的搜索功能找到下列選項 進行修改
設置文件最大上傳限制(值的大小能夠根據需求修改)
考慮網絡傳輸快慢,這裏修改一些參數