使用 PHP 阅读经典 ASP 的 cookie

Read classic ASP's cookies with PHP

如何使用 PHP 获取 asp cookie 的名称和值,以便我可以将其分配给变量? PHP 和 ASP 在同一个域中。

经典Asp 创建 Cookie

response.cookies("apple")("red")="reddelicious"
response.cookies("apple")("yellow")="gingergold"
response.cookies("apple")("green")="grannysmith"
response.cookies("apple").expires = dateadd("d",2,Now())

经典ASP阅读 Cookie

strRed = request.cookies("apple")("red")
strYellow = request.cookies("apple")("yellow")
strGreen = request.cookies("apple")("green")

使用 PHP echo

读取 ASP cookie
echo $_COOKIE["apple"];

在 firebug 中,在控制台中展开 'apple' cookie 后,'echo $_COOKIE["apple"]' 输出:

red=reddelicious&yellow=gingergold&green=grannysmith 

尝试过:

$strRed = $_COOKIE["apple"]["red"]; //doesn't work

要将字符串 red=reddelicious&yellow=gingergold&green=grannysmith 转换为多维数组的格式,试试这个:

$itemArray = explode('&', $_COOKIE['apple']);  // Split variables at '&'
foreach($itemArray as $item){ // for each variable pair 'key=value'
    $itemParts = explode('=', $item); // split string to '[key, value]'
    $apple[$itemParts[0]] = $itemParts[1]; // set each item to $apple[key] = value; 
}

然后你可以像这样使用变量:

$strRed = $apple["red"]; //should work :)

您可以在 php

中使用 parse_str 函数
<?php

parse_str($_COOKIE["apple"], $apple);

echo($apple["red"]);

?>