Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Holen Sie sich das Formular über file_get_content("php://input") im Hintergrund, um den vollständigen Wert mit Parametern zu analysieren

<form>
<input type="text" name="goods_name" value="西瓜500g">
<input type="text" name="origin_url" value="https://www.baidu.com?page=50&since=2015">
<input type="text" name="price" value="10.0">
</form>

Das Backend wird über file_get_content("php://input") empfangen. Wie werden die vollständigen drei Werte von Warenname, Ursprungs-URL und Preis analysiert?
Es gibt eine Lösung im Internet, die „&“ als Knoten zum Durchschneiden der Explosion verwendet. Wenn Sie dies jedoch tun, erhalten Sie als Ursprungs-URL

“https://www.baidu.com?page=50” 

Es gibt auch ein zusätzliches Seitdem-Feld anstelle eines vollständigen Felds

“https://www.baidu.com?page=50&since=2015”

Kennt jemand eine Methode, die den URL-Wert vollständig mit Parametern analysieren kann?

漂亮男人漂亮男人2671 Tage vor767

Antworte allen(2)Ich werde antworten

  • 迷茫

    迷茫2017-05-31 10:36:53

    $queryString = parse_url($url, PHP_URL_QUERY);
    parse_str($queryString, $params);
    var_dump($params);

    感谢楼下指出,好久没用这俩函数了,忘记 parse_str 直接在参数里接收返回值了= =

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-31 10:36:53

    非常感谢,源码是这样的,
    $packData=urldecode(file_get_contents( "php://input" ));
    parse_str($packData,$params);//parse_str函数是无返回值的所以,$params = parse_str($queryString);是错误的写法
    //var_dump($param);

    Antwort
    0
  • StornierenAntwort