我有一个包含桌面文件路径字段的表单。保存路径然后写入txt文件,然后从该文件中读取,并将值存入表单字段。PHP将斜杠添加到表单提交的文件路径
提交时,会添加斜杠。事实上,每次提交表单时,路径中的任何斜杠都会加倍。
想想这个吗?
我有一个包含桌面文件路径字段的表单。保存路径然后写入txt文件,然后从该文件中读取,并将值存入表单字段。PHP将斜杠添加到表单提交的文件路径
提交时,会添加斜杠。事实上,每次提交表单时,路径中的任何斜杠都会加倍。
想想这个吗?
听起来就像启用了魔术引号。要检查,如果他们启用,将在您的脚本如下:
echo 'magic_quotes_gpc=', ini_get('magic_quotes_gpc');
echo 'magic_quotes_runtime=', ini_get('magic_quotes_runtime');
如果其中任何回报1
,那么你应该禁用它们。您也可以通过在脚本中运行功能phpinfo();
来检查此信息。
参考手册禁用它们的最好方法:
http://www.php.net/manual/en/security.magicquotes.disabling.php
我决定废除表单域,并在其中输入路径并对其进行硬编码。但是,“C:\ Users \ Files \”会导致错误,而“C:\ Users \ Files”输出没有斜杠,即使我的代码中没有反斜杠。 – MarkHFLA
由于最后一个斜杠正在转义报价,您会收到错误消息。查看[手册页上的字符串](http://php.net/manual/en/language.types.string.php)了解更多信息。 – webbiedave
您的服务器必须启用Magic Quotes。您可以使用stripslashes()
来摆脱它们,但它可能会删除所有斜杠而不是仅添加那些斜杠。
你的代码请。 – 2011-09-06 23:05:02