亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 PHP 不處理包含&符號“&”的 $_POST 數據

為什么 PHP 不處理包含&符號“&”的 $_POST 數據

PHP
素胚勾勒不出你 2022-07-09 10:59:59
我在 PHP 中遇到了 POST 數據的奇怪問題。每當 POST 數據包含“&”(和號字符)時,它的行為就會非常奇怪。請看下面的例子。由遠程端發布并使用接收的數據file_put_contents(file_get_contents('php://input'));csv=0,"ITEM 1"1,"ITEM 2&CO"2,"ITEM 3"當我這樣做時,file_put_contents('file.txt', $_POST['csv']);我將此截斷的輸出到本地文件(請注意,它缺少雙 qoutes 并且文件此時結束):0,"ITEM 1"1,"ITEM 2當我這樣做時,file_put_contents('file.txt', print_r($_POST['csv'], true));這次文本被奇怪地修改了,&符號被換行符、3個制表符和括號替換:[csv] => 0,"ITEM 1"1,"ITEM 2            [CO,"2,"ITEM 3"我不知道為什么會這樣,因為我認為 $_POST 沒有以任何方式改變。但顯然它是。提前感謝您提供任何提示或想法,為什么會發生這種情況以及如何訪問 $_POST['csv'] 以便它不會被修改。PS:我認為應該沒關系,但我只會提到使用的網絡服務器是nginx。
查看完整描述

1 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

似乎您正在嘗試將 csv 文件作為 url 編碼數據發送,而無需對數據進行 url 編碼。& 是分隔變量的特殊字符。

正確的數據應該是

csv=0%2C%22ITEM%201%22%0A1%2C%22ITEM%202%26CO%22%0A2%2C%22ITEM%203%22

%26是 & 編碼的。

這些數據從哪里發布,需要在發送數據之前對數據進行 url 編碼。


查看完整回答
反對 回復 2022-07-09
  • 1 回答
  • 0 關注
  • 189 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號