<?php
error_reporting (E_ALL);
define('HTTP_DEBUG', true);
echo '<pre>';
// include class
require_once('../Cookie_Jar.php');
//
// Loading and saving
//
print_section('Loading and saving cookies');
$options = array(
'file_persistent' => 'cookies.txt'
);
$jar =& new Cookie_Jar($options);
var_dump($jar->cookies);
// save cookies to new file
$jar->save_persistent_cookies('saved_cookies.txt');
//
// Get matching cookies
//
print_section('Get matching cookies');
$params = array('domain'=>'www.ebay.co.uk', 'path'=>'/', 'secure'=>false);
$cookies = $jar->get_matching_cookies($params);
echo "\n",'Cookies found: ',$cookies;
//
// Parsing a Set-Cookie HTTP header field
//
print_section('Parsing a Set-Cookie HTTP header field');
// create instance of cookie jar class
$jar =& new Cookie_Jar();
// As I've not yet finished the HTTP response class,
// I'll be using the parse_set_cookies() method.
// set bbc.co.uk cookie
$bbc_cookie = 'BBC-UID=83edcf03bb5df4d84a1ef78f21763b2af0b64907604890a0f250fc054979da5a0Mozilla%2f5%2e0%20%28Windows%3b%20U%3b%20Windows%20NT%205%2e0%3b%20en%2dUS%3b%20rv%3a1%2e0%2e1%29%20Gecko%2f20020826; expires=Mon, 08-Dec-03 21:44:40 GMT; path=/; domain=bbc.co.uk;';
// we have to pass the host and path details so the method can determine whether it can set the cookie
// or not.
$jar->parse_set_cookies(array($bbc_cookie), array('host'=>'www.bbc.co.uk', 'path'=>'/'));
// set stopwar.org.uk cookie
$stopwar_cookie = 'ASPSESSIONIDGGGGGGGG=DRUHSKGCDJMNBPCABXCMFSQQPQQQKGSX; path=/';
$jar->parse_set_cookies(array($stopwar_cookie), array('host'=>'www.stopwar.org.uk', 'path'=>'/'));
echo "\n",'Cookie jar holds: ',"\n";
echo var_dump($jar->cookies);
//
// Use the cookie jar with a callback function
//
print_section('Use the cookie jar with a callback function');
// define callback function to print out all cookies in jar at the moment
function print_cookies(&$jar, $cookie_parts, $param)
{
extract($cookie_parts);
echo '<tr>';
echo '<td>',$name,'</td>';
echo '<td>',$value,'</td>';
echo '<td>',$domain,'</td>';
echo '<td>',$path,'</td>';
echo '<td>',(is_int($expires) ? gmdate('d m Y, H:i:s', $expires) : 'session'),'</td>';
echo '</tr>';
return true;
}
echo '<table border="1"><tr><th>';
echo implode('</th><th>', array('name','value','domain','path','expires'));
echo '</th></tr>';
// call scan() with callback
$param = null;
$jar->scan('print_cookies', $param);
echo '</table>';
//
// Save session cookies
//
print_section('Save session cookies');
if ($jar->save_session_cookies('saved_session_cookies.txt')) {
echo 'Session cookies saved!';
} else {
echo 'Failed saving session cookies';
}
function print_section($desc='')
{
static $num = 1;
echo "\n\n";
echo '+---------------------------------------------',"\n";
echo '| Test ',$num,' - ',$desc,"\n";
echo '+---------------------------------------------',"\n";
echo "\n";
$num++;
}
?>
|