PHP에서 따옴표 앞에 백슬래시를 추가하는 이유와 PHP에서 백슬래시를 제거하는 방법 php 매직 따옴표를 끄는 세 가지 방법
일반 공간 제공자가 제공하는 서버 공간의 기본 PHP 명령인 Magic_quotes_gpc가 켜져 있다는 것입니다. , 켜져 있습니다. 이때 자동으로 추가된 백슬래시를 제거하려면 Stripslashes() 함수를 사용하면 됩니다. 사용법은 다음과 같습니다. 예를 들어 문자열을 포함하는 변수는 $str입니다. 그런 다음 Stripslashes() 함수를 사용하여 문자열을 처리합니다. Stripslashes($str) 출력 결과는 백슬래시가 제거된 상태가 됩니다.
백슬래시가 포함된 출력 결과가 나타나면, 스트립슬래시() 함수를 사용하여 출력 내용, 즉 $str=stripslashes($str)를 처리할 수 있습니다.
하지만 또 다른 문제가 있습니다. 이는 로컬 PHP 명령인 Magic_quotes_gpc가 꺼져 있기 때문입니다. 이 함수를 사용하면 일반 백슬래시도 제거됩니다. 이것은 우리가 원하는 것이 아닙니다.
해결책은 get_magic_quotes_gpc() 함수를 사용하여 열린 상태인 경우 백슬래시가 제거되고 닫힌 상태인 경우 백슬래시가 제거되지 않습니다.
프로그램 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
$str=$_POST["str"]; //读取str的内容赋值给$str变量 if(get_magic_quotes_gpc()){ //如果get_magic_quotes_gpc()是打开的 $str=stripslashes($str); //将字符串进行处理 }
본 글은 2012년 4월 25일 10:08:03에 다음과 같이 수정되었습니다.
여기에는 세 가지 방법이 있습니다. 이 문제를 해결하세요:
1. PHP 구성 파일 php.ini를 수정하세요
이 방법은 서버 관리 권한이 있는 경우에만 적합합니다. 가상 공간을 사용하는 경우 마지막 두 가지 방법만 사용할 수 있습니다.
PHP 구성 파일 php.ini에서 Magic_quotes_gpc, Magic_quotes_runtime 및 Magic_quotes_sybase를 모두 꺼짐으로 설정하세요. 아래와 같이
코드를 복사하세요 코드는 다음과 같습니다.
magic_quotes_gpc = Off magic_quotes_runtime = Off magic_quotes_sybase = Off
2 .htaccess 파일을 사용하세요
이 방법은 서버가 현재 서버에서 일반적으로 지원하는 htaccess를 지원하는 경우에만 작동합니다
프로그램에서 .htaccess 파일에 다음 문장을 추가합니다.
이 방법은 서버 구성을 고려할 필요가 없습니다. PHP를 지원하는 한. 모든 PHP 파일의 시작 부분에 다음 코드를 추가하세요
코드는 다음과 같습니다. 위 내용은 PHP는 따옴표 앞에 백슬래시를 추가합니다(PHP는 백슬래시를 제거합니다).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요! if(get_magic_quotes_gpc()){
function stripslashes_deep($value){
$value=is_array($value)?array_map('stripslashes_deep',$value):stripslashes($value);
return $value;
}
$_POST=array_map('stripslashes_deep',$_POST);
$_GET=array_map('stripslashes_deep',$_GET);
$_COOKIE=array_map('stripslashes_deep',$_COOKIE);
$_REQUEST=array_map('stripslashes_deep',$_REQUEST);
}