Tôi đang sử dụng file_get_contents('php://input')
để lấy tất cả các thông số POST/giá trị từ một dịch vụ web cụ thể, ví dụ:Parsing từ file_get_contents ('php: // input')
$postText = file_get_contents('php://input');
mà kết quả trong một cái gì đó như thế này :
inReplyToId=MG1133&to=61477751386&body=test&from=61477751386&messageId=166594397&rateCode=
Sau đó, tôi cần nhận từng cặp khóa/giá trị riêng lẻ khi tôi cần đặt chúng vào các trường trong bản ghi cơ sở dữ liệu mới. Ví dụ: tôi muốn kết thúc bằng:
$inReplyToId = MG1133
$to = 61477751386
$body = test
Khi tôi biết giá trị riêng lẻ tôi có thể đặt trường tương ứng trong cơ sở dữ liệu. Tôi thường sử dụng:
if(isset($_POST['inReplyToId']) && $_POST['inReplyToId'] !== '') {
$request->setField('_kf_GatewayMessageID', $_POST['inReplyToId']);
}
Nhưng điều đó sẽ không hoạt động trong trường hợp này vì nó không phải là mẫu application/x-www-form-urlencoded
đang được gửi.
[ 'parse_str()'] (http://ch2.php.net/manual/en/function.parse-str.php) – str
http://www.php.net/manual/ vi/function.parse-str.php – CBroe
tại sao sử dụng 'file_get_contents' và' php: // input'? Sẽ tốt hơn nếu sử dụng [bộ lọc dữ liệu] (http://www.php.net/manual/en/book.filter.php) trên 'INPUT_POST' hoặc' serialize ($ _ POST) 'sự khác biệt là gì? –