PHP全棧學習筆記10

PHP全棧學習筆記10

php常量,常量是不能被改變的,由英文字母,下劃線,和數字組成,可是數字不能做爲首字母出現。php

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
<?php
// 區分大小寫的常量名
define("44", "Welcome to 444");
echo 44;    
echo '<br>';
echo 55;   
?>
<?php
// 不區分大小寫的常量名
define("Da", "Welcome to dashu", true);
echo da;
?>

字符串變量是用於存儲並處理文本的,包含有字符的值,建立,使用,存儲在變量中html

<?php
$txt="Hello world!";
echo $txt;
?>

運算符(.)用於把兩個字符串值鏈接起來數組

strlen()函數返回字符串的長度瀏覽器

<?php
echo strlen("Hello world!");
?>

Strpos() 函數用於在字符串內查找一個字符或一段指定的文本。服務器

<?php
echo strpos("Hello world!","world");
?>

image.png

image.png

image.png

image.png

image.png

image.png

三元運算符cookie

(expr1) ? (expr2) : (expr3)

PHP 條件語句session

if (條件)
{
    條件成立時要執行的代碼;
 }

if (條件)
 {
  條件成立時執行的代碼;
 }
else
 {
  條件不成立時執行的代碼;
 }

if (條件)
  {
  if 條件成立時執行的代碼;
  }
elseif (條件)
  {
  elseif 條件成立時執行的代碼;
 }
else
  {
  條件不成立時執行的代碼;
 }

<?php
switch (n)
{
case label1:
    break;
case label2:
    break;
default:
}
?>

PHP 循環dom

while (條件爲真) {
}

do {
} while (條件爲真);

for (初始值; 條件; 增量)
{
 }

foreach ($array as $value)
{
}

PHP 函數函數

<?php
function functionName()
{
    // 要執行的代碼
}
?>

PHP默認參數值post

<?php
function aa($aaa=50) {
  echo "The is : $aaa<br>";
}

aa(); // 將使用默認值 50

?>

PHP函數返回值

<?php
function add($x,$y)
{
    $total=$x+$y; 
    return $total;
} 
echo "1 + 5= " . add(1,5);
?>

PHP 數組

array();

$name=array("a","b","c");

得到數組的長度

<?php
$name=array("a","b","c");
echo count($name);
?>

遍歷索引數組

<?php
$name=array("a","b","c");
$arrlength=count($name);
for($x=0;$x<$arrlength;$x++) {
  echo $name[$x];
  echo "<br>";
}
?>

遍歷關聯數組

<?php
$age=array("a"=>"aa","b"=>"bb","c"=>"cc"); 

foreach($age as $x=>$x_value){
    echo "Key=" . $x . ", Value=" . $x_value;  
    echo "<br>";
}
?>
<?php
$aaa = array
(
    "course"=>array
    (
        "c",
        "https://a/list"
    ),
    "class"=>array
    (
        "b",
        "https://a.com"
    ),
    "coding"=>array
    (
        "a",
        "https://aa.com"
    )
);
print("<pre>"); // 格式化輸出數組
print_r($aaa);
print("</pre>");
?>

PHP 數組排序

image.png

PHP 全局變量

image.png

// $GLOBALS全局變量
<?php 
$x = 2; 
$y = 3; 
function add() { 
    $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
}
add(); 
echo $z; 
?>

$_SERVER全局變量

$_REQUEST 用於收集HTML表單提交的數據

$_POST全局變量

$_GET全局變量

PHP 表單, $_GET 和 $_POST 用於收集表單數據

PHP下拉菜單單選

<?php
$q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : '';
?>

PHP下拉菜單多選( multiple="multiple")

PHP 表單驗證

htmlspecialchars() 函數把特殊字符轉換爲 HTML 實體

<script>location.href('http://www.aaa.com')</script>

PHP 日期函數

string date ( string $format [, int $timestamp ] )

date()格式化日期

d--表明月中的天(01-31)、m--表明月(01--12)、Y--表明年(四位數)、1--表明周裏的某天

獲取時區

<?php
date_default_timezone_set("Asia/Shanghai");
echo "當前時間是 " . date("h:i:sa");
?>

readfile()函數讀取文件,並把它寫入輸入緩衝
fopen()函數第一個參數包含被打開的文件名,第二個參數規定打開文件的模式

fread() 函數讀取打開的文件
fclose()函數用於關閉打開的文件
fgets()函數用於從文件讀取單行
fgetc()函數用於從文件中讀取單個字符
fopen()函數也用於建立文件
fwrite()函數用於寫入文件

建立一個文件上傳表單

<html>
<body>
 
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>
 
</body>
</html>

建立上傳腳本

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

$_FILES["file"]["name"]
被上傳文件的名稱

$_FILES["file"]["type"]
被上傳文件的類型

$_FILES["file"]["size"]
被上傳文件的大小,以字節計

$_FILES["file"]["tmp_name"]
存儲在服務器的文件的臨時副本的名稱

$_FILES["file"]["error"]
由文件上傳致使的錯誤代碼

上傳限制

<?php
 
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

保存被上傳的文件

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
 
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

PHP cookie
Cookie經常使用於識別用戶

setcookie(name, value, expire, path, domain);
<?php 
setcookie("user", "dashucoding", time()+3600);
?>
 
<html>
<body>
 
</body>
</html>

$_COOKIE變量用於取回cookie的值

<?php
//輸出cookie值
echo $_COOKIE["user"];
 
//查看全部cookie
print_r($_COOKIE);
?>

使用isset()函數來確認是否設置了cookie

<html>
<body>
 
<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome!<br />";
?>
 
</body>
</html>

刪除cookie

<?php
// 設置 cookie 過時時間爲過去 1 小時
setcookie("user", "", time()-3600);
?>

瀏覽器不支持cookie
在應用程序中從一張頁面向另外一張頁面傳遞信息

<html>
<body>
 
<form action="welcome.php" method="post">
姓名: <input type="text" name="name" />
年齡: <input type="text" name="age" />
<input type="submit" />
</form>
 
</body>
</html>
<html>
<body>
 
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
 
</body>
</html>

PHP session變量用於存儲關於用戶會話信息,或者更改用戶會話設置

工做機制
爲每一個訪問者建立一個惟一的 id (UID),並基於這個 UID 來存儲變量。UID 存儲在 cookie 中,亦或經過 URL 進行傳導。

<?php session_start(); ?>
 
<html>
<body>
 
</body>
</html>

存儲session變量

<?php
session_start();
// 存儲session數據
$_SESSION['add']=1;
?>
 
<html>
<body>
 
<?php
//檢索session數據
echo "瀏覽量=". $_SESSION['add'];
?>
 
</body>
</html>
<?php
session_start();
if(isset($_SESSION['views'])){ 
  $_SESSION['views']=$_SESSION['views']+1;}
else{  
  $_SESSION['views']=1;}
echo "瀏覽量:". $_SESSION['views'];
?>

unset()函數用於釋放指定的session變量
session_destroy()完全銷燬session

<?php
unset($_SESSION['views']);
?>

<?php
session_destroy();
?>

mail()函數用於從腳本中發送電子郵件

mail(to,subject,message,headers,parameters)
<?php
$to = "dashucoding@qq.com";         // 郵件接收者
$subject = "參數郵件";                // 郵件標題
$message = "這是郵件的內容。";  // 郵件正文
$from = "dada@qq.com";   // 郵件發送者
$headers = "From:" . $from;         // 頭部信息設置
mail($to,$subject,$message,$headers);
echo "郵件已發送";
?>
<html>
<body>
 
<?php
if (isset($_REQUEST['email']))
//若是接收到郵箱參數則發送郵件
  {
  //發送郵件
  $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail( "someone@example.com", "Subject: $subject",
  $message, "From: $email" );
  echo "郵件發送成功";
  }
else
//若是沒有郵箱參數則顯示錶單
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
 
</body>
</html>
// 有問題的代碼

防止email注入的最好方法是對輸入進行驗證

<html>
<body>
<?php
function spamcheck($field)
  {
    // filter_var() 過濾 e-mail 
    // 使用 FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);
   
    //filter_var() 過濾 e-mail
    // 使用 FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }
 
if (isset($_REQUEST['email']))
  {
  // 若是接收到郵箱參數則發送郵件
  // 判斷郵箱是否合法
  $mailcheck = spamcheck($_REQUEST['email']);
  if ($mailcheck==FALSE)
    {
    echo "非法輸入";
    }
  else
    {//發送郵件
    $email = $_REQUEST['email'] ; 
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("someone@example.com", "Subject: $subject",
    $message, "From: $email" );
    echo "Thank you for using our mail form";
    }
  }
else
  {
  // 若是沒有郵箱參數則顯示錶單
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br />
  Message:<br />
  <textarea name='message' rows='15' cols='40'>
  </textarea><br />
  <input type='submit' />
  </form>";
  }
?>
 
</body>
</html>

PHP 錯誤

<?php
if(!file_exists("da.txt")){   
  die("文件不存在");
}else{ 
  $file=fopen("da.txt","r");
}
?>

結言

好了,歡迎在留言區留言,與你們分享你的經驗和心得。

感謝你學習今天的內容,若是你以爲這篇文章對你有幫助的話,也歡迎把它分享給更多的朋友,感謝。

感謝!承蒙關照!您真誠的讚揚是我前進的最大動力!

image

image

相關文章
相關標籤/搜索