使用fwrite()时PHP自动转义引号
PHP在使用fwrite写入文件之前自动转义我的引号。我正在尝试制作一个测试代码页。以下是我的代码:使用fwrite()时PHP自动转义引号,php,file,escaping,quotes,fwrite,Php,File,Escaping,Quotes,Fwrite,PHP在使用fwrite写入文件之前自动转义我的引号。我正在尝试制作一个测试代码页。以下是我的代码: <?php if ($_GET['test'] == 'true') { $code = $_POST['code']; $file = fopen('testcode.inc.php', 'w+'); fwrite($file, $code); fclose($file); require_once('testcode.inc.php'); } else { echo " <for
<?php
if ($_GET['test'] == 'true') {
$code = $_POST['code'];
$file = fopen('testcode.inc.php', 'w+');
fwrite($file, $code);
fclose($file);
require_once('testcode.inc.php');
}
else {
echo "
<form method='post' action='testcode.php?test=true'>
<textarea name='code' id='code'></textarea><br><br>
<button type='submit'>Test!</button><br>
</form>
";
}
?>
当我在表格中输入以下内容时:
<?php
echo 'test';
?>
它在文件中保存为:
<?php
echo \'test\';
?>
为什么php会自动转义我的引号?这不是因为你启用了 如果您不能在php.ini文件中禁用魔引号,那么您可以在运行时禁用它,简单的一点php将在您的所有输入数组中循环并去除不需要的斜杠,那么您就不必担心要去除哪些POST/GET键
这不是因为你已经启用了 如果您不能在php.ini文件中禁用魔引号,那么您可以在运行时禁用它,简单的一点php将在您的所有输入数组中循环并去除不需要的斜杠,那么您就不必担心要去除哪些POST/GET键 这不是fwrite,而是$u POST 有了这些知识,请在此处找到您的答案: 因此,您需要做的只是一个小小的修复:
if (get_magic_quotes_gpc()) {
$code = stripslashes($_POST['code']);
}else{
$code = $_POST['code'];
}
这不是fwrite,而是$u POST
有了这些知识,请在此处找到您的答案:
因此,您需要做的只是一个小小的修复:
if (get_magic_quotes_gpc()) {
$code = stripslashes($_POST['code']);
}else{
$code = $_POST['code'];
}
你已经启用了魔法引号。在php.ini文件magic\u quotes\u gpc=off中禁用它们,或者将$\u POST['code']传递给用户。您启用了magic quotes。在php.ini文件magic_quotes_gpc=off中禁用它们,或者将$\u POST['code']传递给用户