我有一個包含桌面文件路徑字段的表單。保存路徑然後寫入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