URL、表单数据、IP等处理类,url表单_PHP教程
URL、表单数据、IP等处理类,url表单
<?<span>php </span><span>class</span><span> ev { </span><span>public</span><span> $cookie; </span><span>public</span><span> $post; </span><span>public</span> $<span>get</span><span>; </span><span>public</span><span> $file; </span><span>public</span><span> $url; </span><span>public</span><span> $G; </span><span>private</span><span> $e; </span><span>public</span> function __construct(<span>) {</span><span>if</span> (ini_get(<span>'</span><span>magic_quotes_gpc</span><span>'</span><span>)) { //判断php.ini是否有<span>magic_quotes_gpc</span>过滤(转义)函数 $</span><span>get</span> = $<span>this</span>-><span>stripSlashes($_REQUEST); $post </span>= $<span>this</span>-><span>stripSlashes($_POST); $</span><span>this</span>->cookie = $<span>this</span>-><span>stripSlashes($_COOKIE); } </span><span>else</span><span> { $</span><span>get</span> =<span> $_REQUEST; $post </span>=<span> $_POST; $</span><span>this</span>->cookie =<span> $_COOKIE; } $</span><span>this</span>->file =<span> $_FILES; $</span><span>this</span>-><span>get</span> = $<span>this</span>->initData($<span>get</span><span>); $</span><span>this</span>->post = $<span>this</span>-><span>initData($post); $</span><span>this</span>->url = $<span>this</span>-><span>parseUrl(); $</span><span>this</span>->cookie = $<span>this</span>->initData($<span>this</span>-><span>cookie); } </span><span>//</span><span>解析url</span> <span>public</span><span> function parseUrl() { </span><span>if</span>(isset($_REQUEST[<span>'</span><span>route</span><span>'</span><span>])) { </span><span>return</span> explode(<span>'</span><span>-</span><span>'</span>,$_REQUEST[<span>'</span><span>route</span><span>'</span><span>]); //解析路由 } elseif(isset($_SERVER[</span><span>'</span><span>QUERY_STRING</span><span>'</span><span>])) { $tmp </span>= explode(<span>'</span><span>#</span><span>'</span>,$_SERVER[<span>'</span><span>QUERY_STRING</span><span>'</span>],<span>2</span><span>); $tp </span>= explode(<span>'</span><span>&</span><span>'</span>,$tmp[<span>0</span>],<span>2</span><span>); </span><span>return</span> explode(<span>'</span><span>-</span><span>'</span>,$tp[<span>0</span><span>]); } </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>返回$_REQUEST数组内的值</span> <span>public</span> function <span>get</span><span>($par) { </span><span>if</span>(isset($<span>this</span>-><span>get</span>[$par]))<span>return</span> $<span>this</span>-><span>get</span><span>[$par]; </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>返回$_POST数组内的值</span> <span>public</span><span> function post($par) { </span><span>if</span>(isset($<span>this</span>->post[$par]))<span>return</span> $<span>this</span>-><span>post[$par]; </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>返回URL数组中的值</span> <span>public</span><span> function url($par) { $par </span>=<span> intval($par); </span><span>if</span>(isset($<span>this</span>->url[$par]))<span>return</span> $<span>this</span>-><span>url[$par]; </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>设置COOKIE</span> <span>public</span> function setCookie($name,$value,$time=<span>3600</span><span>) { </span><span>if</span>($time)$time = TIME +<span> $time; </span><span>else</span> $time = <span>0</span><span>; </span><span>if</span><span>(CDO)setCookie(CH.$name,$value,$time,CP,CDO); </span><span>else</span><span> setCookie(CH.$name,$value,$time,CP); } </span><span>//</span><span>获取cookie</span> <span>public</span> function getCookie($par,$nohead = <span>0</span><span>) { </span><span>if</span>(isset($<span>this</span>->cookie[CH.$par]))<span>return</span> $<span>this</span>-><span>cookie[CH.$par]; elseif(isset($</span><span>this</span>->cookie[$par]) && $nohead)<span>return</span> $<span>this</span>-><span>cookie[$par]; </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>获取$_FILE</span> <span>public</span><span> function getFile($par) { </span><span>if</span>(isset($<span>this</span>->file[$par]))<span>return</span> $<span>this</span>-><span>file[$par]; </span><span>else</span> <span>return</span> <span>false</span><span>; } </span><span>//</span><span>初始化数据</span> <span>public</span><span> function initData($data) { </span><span>if</span><span>(is_array($data)) { </span><span>foreach</span>($data <span>as</span> $key =><span> $value) { </span><span>if</span>($<span>this</span>->strings->isAllowKey($key) === <span>false</span><span>) { unset($data[$key]); } </span><span>else</span><span> $data[$key] </span>= $<span>this</span>-><span>initData($value); } </span><span>return</span><span> $data; } </span><span>else</span><span> { </span><span>if</span><span>(is_numeric($data)) { </span><span>if</span>($data[<span>0</span>] === <span>0</span>)<span>return</span> $<span>this</span>->addSlashes(htmlspecialchars(str_replace(<span>"</span><span>'</span><span>"</span>,<span>"</span><span>'</span><span>"</span><span>,$data))); </span><span>if</span>(strlen($data) >= <span>11</span>)<span>return</span> $<span>this</span>->addSlashes(htmlspecialchars(str_replace(<span>"</span><span>'</span><span>"</span>,<span>"</span><span>'</span><span>"</span><span>,$data))); </span><span>if</span>(strpos($data,<span>'</span><span>.</span><span>'</span>))<span>return</span><span> floatval($data); </span><span>else</span> <span>return</span><span> intval($data); } </span><span>if</span>(is_string($data))<span>return</span> $<span>this</span>->addSlashes(htmlspecialchars(str_replace(<span>"</span><span>'</span><span>"</span>,<span>"</span><span>'</span><span>"</span><span>,$data))); </span><span>if</span>(is_bool($data))<span>return</span> (<span>bool</span><span>)$data; </span><span>return</span> <span>false</span><span>; } } </span><span>//</span><span>去除转义字符</span> <span>public</span><span> function stripSlashes($data) { </span><span>if</span><span> (is_array($data)) { </span><span>foreach</span> ($data <span>as</span> $key =><span> $value) { $data[$key] </span>= $<span>this</span>-><span>stripSlashes($value); } } </span><span>else</span><span> { $data </span>=<span> stripSlashes(trim($data)); } </span><span>return</span><span> $data; } </span><span>//</span><span>添加转义字符</span> <span>public</span><span> function addSlashes($data) { </span><span>if</span><span> (is_array($data)) { </span><span>foreach</span> ($data <span>as</span> $key =><span> $value) { $data[$key] </span>= $<span>this</span>-><span>addSlashes($value); } } </span><span>else</span><span> { $data </span>=<span> addSlashes(trim($data)); } </span><span>return</span><span> $data; } </span><span>//</span><span>获取客户端IP</span> <span>public</span><span> function getClientIp() { </span><span>if</span>(!isset($<span>this</span>->e[<span>'</span><span>ip</span><span>'</span><span>])) { </span><span>if</span> (getenv(<span>"</span><span>HTTP_CLIENT_IP</span><span>"</span>) && strcasecmp(getenv(<span>"</span><span>HTTP_CLIENT_IP</span><span>"</span>), <span>"</span><span>unknown</span><span>"</span><span>)) $ip </span>= getenv(<span>"</span><span>HTTP_CLIENT_IP</span><span>"</span><span>); </span><span>else</span> <span>if</span> (getenv(<span>"</span><span>HTTP_X_FORWARDED_FOR</span><span>"</span>) && strcasecmp(getenv(<span>"</span><span>HTTP_X_FORWARDED_FOR</span><span>"</span>), <span>"</span><span>unknown</span><span>"</span><span>)) $ip </span>= getenv(<span>"</span><span>HTTP_X_FORWARDED_FOR</span><span>"</span><span>); </span><span>else</span> <span>if</span> (getenv(<span>"</span><span>REMOTE_ADDR</span><span>"</span>) && strcasecmp(getenv(<span>"</span><span>REMOTE_ADDR</span><span>"</span>), <span>"</span><span>unknown</span><span>"</span><span>)) $ip </span>= getenv(<span>"</span><span>REMOTE_ADDR</span><span>"</span><span>); </span><span>else</span> <span>if</span> (isset($_SERVER[<span>'</span><span>REMOTE_ADDR</span><span>'</span>]) && $_SERVER[<span>'</span><span>REMOTE_ADDR</span><span>'</span>] && strcasecmp($_SERVER[<span>'</span><span>REMOTE_ADDR</span><span>'</span>], <span>"</span><span>unknown</span><span>"</span><span>)) $ip </span>= $_SERVER[<span>'</span><span>REMOTE_ADDR</span><span>'</span><span>]; </span><span>else</span><span> $ip </span>= <span>"</span><span>unknown</span><span>"</span><span>; $</span><span>this</span>->e[<span>'</span><span>ip</span><span>'</span>] =<span> $ip; } </span><span>return</span> $<span>this</span>->e[<span>'</span><span>ip</span><span>'</span><span>]; } </span><span>//</span><span>根据二级域名获取信息</span> <span>public</span><span> function getSecondDomain() { $domain </span>= $_SERVER[<span>'</span><span>HTTP_HOST</span><span>'</span><span>]; $domain </span>= str_replace(array(<span>'</span><span>com.cn</span><span>'</span>,<span>'</span><span>net.cn</span><span>'</span>,<span>'</span><span>gov.cn</span><span>'</span>,<span>'</span><span>org.cn</span><span>'</span>),<span>'</span><span>com</span><span>'</span><span>,$domain); $tmp </span>= explode(<span>'</span><span>.</span><span>'</span><span>,$domain); </span><span>if</span>(count($tmp) < <span>3</span>)<span>return</span> <span>false</span><span>; elseif(is_numeric($tmp[</span><span>0</span>]))<span>return</span> <span>false</span><span>; </span><span>else</span> <span>return</span> $tmp[<span>0</span><span>]; } } </span>?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
