我想问一个非常简单的问题。
我正在开展一个我输入代码的项目,比如我输入的代码如下:
<?php
echo "Test";
?>
点击保存按钮后,此代码将被保存到一个php文件中,说testfile.php
。
当我在windows 7 - wamp server
上运行此文件时,这没关系,但当我在000webhost.com
上托管此文件linux server
时,会在" "
之前添加一些反斜杠(\) {1}}。对于写入文件,我使用代码
$code = $_POST['yourcode'];
$openphp = fopen("testfile.php","w");
fwrite($openphp, $code);
fclose($openphp);
在Linux服务器中,此代码编写为:
<?php
echo \"test\";
?>
我不想保存这个反斜杠(\),如何在编写文件时避免这种情况
答案 0 :(得分:2)
确保Linux服务器上的魔术引号已关闭:
http://php.net/manual/en/security.magicquotes.php
但是你的脚本似乎很危险,无论如何都没有任何转义或验证......
答案 1 :(得分:1)
在与脚本相同的文件夹中创建.htaccess
文件,并添加以下内容
php_flag magic_quotes_gpc Off
答案 2 :(得分:0)
您可以为此配置php.ini
; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
;magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
;magic_quotes_sybase = Off
或者在php文件的开头,您可以使用ini_set()
ini_set("magic_quotes_gpc", "Off");