PHP字符串過濾教程
PHP 的 date() 函數用于格式化時間或日期。
在 PHP 中,您能夠在服務器執行 PHP 文件之前把該文件插入另一個 PHP 文件中。
include 和 require 語句用于在執行流中向其他文件插入有用的的代碼。
include 和 require 很相似,除了在錯誤處理方面的差異:
require 會產生致命錯誤 (E_COMPILE_ERROR),并停止腳本
include 只會產生警告 (E_WARNING),腳本將繼續
<html>
<body>
<div class="leftmenu">
<?php include 'menu.php'; ?>
</div>
<h1>Welcome to my home page.</h1>
<p>Some text.</p>
</body>
</html>
fopen() 函數用于在 PHP 中打開文件。
<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>
PHP,可以把文件上傳到服務器。
通過使用 PHP 的全局數組 $_FILES,你可以從客戶計算機向遠程服務器上傳文件。
第一個參數是表單的 input name,第二個下標可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣:
$_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 "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";
}
?>
cookie 常用于識別用戶。cookie 是服務器留在用戶計算機中的小文件。每當相同的計算機通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,您能夠創建并取回 cookie 的值。
setcookie() 函數用于設置 cookie。
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
PHP 的 $_COOKIE 變量用于取回 cookie 的值。
刪除的例子:
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
當您運行一個應用程序時,您會打開它,做些更改,然后關閉它。這很像一次會話。計算機清楚你是誰。它知道你何時啟動應用程序,并在何時終止。但是在因特網上,存在一個問題:服務器不知道你是誰以及你做什么,這是由于 HTTP 地址不能維持狀態。
在您把用戶信息存儲到 PHP session 中之前,首先必須啟動會話。
注釋:session_start() 函數必須位于 <html> 標簽之前:
存儲和取回 session 變量的正確方法是使用 PHP $_SESSION 變量:
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
unset() 函數用于釋放指定的 session 變量:
<?php
unset($_SESSION['views']);
?>
注釋:session_destroy() 將重置 session,您將失去所有已存儲的 session 數據。
電子郵件發送
mail(to,subject,message,headers,parameters)
參數 | 描述 |
---|---|
to | 必需。規定 email 接收者。 |
subject | 必需。規定 email 的主題。注釋:該參數不能包含任何新行字符。 |
message | 必需。定義要發送的消息。應使用 LF (\n) 來分隔各行。 |
headers |
可選。規定附加的標題,比如 From、Cc 以及 Bcc。 應當使用 CRLF (\r\n) 分隔附加的標題。 |
parameters | 可選。對郵件發送程序規定額外的參數。 |
不同的錯誤處理方法:
簡單的 "die()" 語句
自定義錯誤和錯誤觸發器
錯誤報告
<?php
if(!file_exists("welcome.txt"))
{
die("File not found");
}
else
{
$file=fopen("welcome.txt","r");
}
?>
不同的錯誤處理方法:
異常的基本使用
創建自定義的異常處理器
多個異常
重新拋出異常
設置頂層異常處理器
PHP 過濾器用于驗證和過濾來自非安全來源的數據。
驗證和過濾用戶輸入或自定義數據是任何 Web 應用程序的重要組成部分。
設計 PHP 的過濾器擴展的目的是使數據過濾更輕松快捷。
如需過濾變量,請使用下面的過濾器函數之一:
filter_var() - 通過一個指定的過濾器來過濾單一的變量
filter_var_array() - 通過相同的或不同的過濾器來過濾多個變量
filter_input - 獲取一個輸入變量,并對它進行過濾
filter_input_array - 獲取多個輸入變量,并通過相同的或不同的過濾器對它們進行過濾
兩種過濾器:
用于驗證用戶輸入
嚴格的格式規則(比如 URL 或 E-Mail 驗證)
如果成功則返回預期的類型,如果失敗則返回 FALSE
用于允許或禁止字符串中指定的字符
無數據格式規則
始終返回字符串
推薦文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
穩定
產品高可用性高并發貼心
項目群及時溝通專業
產品經理1v1支持快速
MVP模式小步快跑承諾
我們選擇聲譽堅持
10年專注高端品質開發