PHP daddslashes 使用方法介紹_php基礎
php
實例代碼:
複製程式碼 程式碼如下:
@set_magic_quotes_runtime(0);
$MQG = get_magic_quotes_gpc();
if(!$MQG && $_POST) $_POST = daddslashes($_POST);
if(!$MQG && $_GET) $_GET = daddslashes($ _GET);
//轉譯字元函數
function daddslashes($string) {
if(!is_array($string)) return addslashes($string);
foreach($string as $key => $val) $string[$key] = daddslashes($val);
return $string;
}
PHP提供兩個方便我們引用資料的魔法引用函數magic_quotes_gpc和magic_quotes_runtime,這兩個函數如果在php.ini設定為ON的時候,就會為我們引用的資料碰到單引號' 和雙引號" 以及反斜線時自動加上反斜線,幫我們自動轉譯符號,確保資料操作的正確運行,可是我們在php不同的版本或不同的伺服器配置下,有的magic_quotes_gpc和magic_quotes_runtime設定為on,有的又是off,所以我們寫的程式必須符合on和off兩種情況。那麼magic_quotes_gpc和magic_quotes_runtime兩個函數有什麼區別呢?看下面的說明:
magic_quotes_gpc和magic_quotes_runtime函數區別
magic_quotes_gpc
作用範圍是:web客戶
服務端;
作用時間:請求開始是,例如當腳本運行時。
magic_quotes_runtime
作用範圍:從檔案讀取的資料或是從SQL查詢得到的;
作用時間:每次當腳本存取執行狀態產生的資料。
所以magic_quotes_gpc的設定值將會影響透過Get/Post/Cookies獲得的資料magic_quotes_runtime的設定值將會影響從檔案讀取的資料或從資料庫查詢得到的資料
範例說明:
複製程式碼 程式碼如下:
$data1 = $_POST[ 'aaa'];
$data2 = implode(file('1.txt'));
if(get_magic_quotes_gpc()){
//把資料$data1直接寫入資料庫(自動轉譯)
}else{
$data1 = addslashes($data1);
//把資料$data1寫入資料庫,用函數(addslashes()轉譯)
}
if(get_magic_quotes_runtime()){
//把資料$data2直接寫入資料庫(自動轉譯)
//從資料庫讀出的資料要經過一次stripslashes()之後輸出stripslashes()的作用是去掉:\ ,和addslashes()作用相反
}else{
$data2 = addslashes($data2);
//把資料$data2寫入資料庫
//從資料庫讀出的資料直接輸出
}
最關鍵的區別是就是上面提到的2點:他們針對的處理對像不同
magic_quotes_gpc的設定值將會影響透過Get/Post/Cookies獲得的資料
magic_quotes_runtime的設定值將會影響從檔案讀取的資料或從資料庫查詢得到的資料
在這裡順便在提幾個想關聯的函式:
set_magic_quotes_runtime( ):
設定magic_quotes_runtime值. 0=關閉.1=開啟.預設狀態是關閉的.
get_magic_quotes_gpc():
查看magic_quotes_gpc值.0=關閉.1=開啟
get_magic_quotes_runtime():
查看magic_quotes_runtime值。 0=關閉.1=開啟.
注意的是沒有 set_magic_quotes_gpc()這個函數,就是不能在程式裡面設定magic_quotes_gpc的值。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前
By DDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

CakePHP 是 PHP 的開源框架。它旨在使應用程式的開發、部署和維護變得更加容易。 CakePHP 基於類似 MVC 的架構,功能強大且易於掌握。模型、視圖和控制器 gu

登入 CakePHP 是一項非常簡單的任務。您只需使用一項功能即可。您可以記錄任何後台程序(如 cronjob)的錯誤、異常、使用者活動、使用者採取的操作。在 CakePHP 中記錄資料很容易。提供了 log() 函數

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