Php bir çerez dosyası okumak için herhangi bir yardımcı kütüphaneleri vardır. Benim yerel diskte bir çerez dosyası var ve bunu okuma daha iyi bir yol istiyoruz. Şu anda sadece çizgiyle gibi dosya okuma ve değerlerini ayrıştırma duyuyorum.
Eğer Netscape'in biçimi (örneğin kıvırmak bu formatta cookiejar çerezleri kaydeder) okumak amacı, bu oldukça basittir.
Önce bir örnek (borular ve satır numaraları burada ilave edilir ve gerçek dosyasında meydana gelmez):
01 | # Netscape HTTP Cookie File
02 | # http://curl.haxx.se/rfc/cookie_spec.html
03 | # This file was generated by libcurl! Edit at your own risk.
04 |
05 | .google.com TRUE / FALSE 1305843382 cookiename the value
06 | .yahoo.com TRUE / FALSE 1305843382 another_cookie it's value
07 |
Gördüğünüz gibi:
#
ile gösterilir satırlarını olabilir.And then, the beefy lines each have 7 tokens seprated with a tab character (\t
).
These are defined here:
Yani, şimdi bizim çerez dosyası ayrıştırıcı yapalım.
// read the file
$lines = file('path/to/cookies.txt');
// var to hold output
$trows = '';
// iterate over lines
foreach($lines as $line) {
// we only care for valid cookie def lines
if($line[0] != '#' && substr_count($line, "\t") == 6) {
// get tokens in an array
$tokens = explode("\t", $line);
// trim the tokens
$tokens = array_map('trim', $tokens);
// let's convert the expiration to something readable
$tokens[4] = date('Y-m-d h:i:s', $tokens[4]);
// we can do different things with the tokens, here we build a table row
$trows .= '<tr></td>' . implode('</td><td>', $tokens) . '</td></tr>' . PHP_EOL;
// another option, make arrays to do things with later,
// we'd have to define the arrays beforehand to use this
// $domains[] = $tokens[0];
// flags[] = $tokens[1];
// and so on, and so forth
}
}
// complete table and send output
// not very useful as it is almost like the original data, but then ...
echo '<table>'.PHP_EOL.'<tbody>'.PHP_EOL.$trows.'</tbody>'.PHP_EOL.'</table>';
Son olarak, here bir demo.
Ben $ _COOKIE sizin aradığınız şey olduğunu düşünüyorum.
Bu superglobal size setcookie()
Daha $_COOKIE superglobal altında PHP web sitesinde bulunabilir kullanmak gerekir ayarlamak için ... çerez veri okumak için kullanılabilir
Ben ({[(0)}] a> kullanarak) ayarlamak ve komut PHP bir çerez okumak normalde oldukça basit olduğu gibi sizi doğru anladığımdan emin değilim:
$value = $_COOKIE['mycookie'];
Eğer bir tarayıcı aracılığıyla gitmeden, dosya sistemlerini doğrudan ham çerez okuma bir yol arıyorsanız, onlar değerleri farklı dillerde bir sürü tefrika olabilirdi yazıldığı ne biçim / tarayıcı belirtmeniz gerekir ve dosya nihai sonucu tarayıcıdan tarayıcıya farklı olabilir.
// Edit:
Tarayıcı farklar hakkında daha fazla: örneğin, Mozilla format like that ve IE şey vardır more like that.