note 109670 deleted from function.get-browser by danbrown
| From: | danbrown@php.net | Date: | Fri, 10 Aug 2012 16:08:51 +0000 |
| Subject: | note 109670 deleted from function.get-browser by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-189997@lists.php.net to get a copy of this message | ||
Note Submitter: Steven L.
----
Script to keep your browscap up-to-date. Update paths for your installation, then add to crontab.
#!/usr/local/bin/php
<?php
$browscap_url = 'http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINI';
$download_filename = 'lite_php_browscap.ini';
$system_filename = '/usr/local/etc/lite_php_browscap.ini';
$wget_cmd = sprintf('wget -t1 -O%s %s 2>&1', $download_filename, $browscap_url);
$apache_restart_cmd = '/usr/local/etc/rc.d/apache22 restart 2>&1';
exec($wget_cmd, $wget_output);
if (file_exists($download_filename) && (filesize($download_filename) > 0)) {
$download_php_browscap = parse_ini_file($download_filename, true, INI_SCANNER_RAW);
$system_php_browscap = parse_ini_file($system_filename, true, INI_SCANNER_RAW);
if (isset($download_php_browscap['GJK_Browscap_Version']['Version'])) {
if ($download_php_browscap['GJK_Browscap_Version']['Version'] >
$system_php_browscap['GJK_Browscap_Version']['Version']) {
echo sprintf ("Updating version %d to %d\n",
$system_php_browscap['GJK_Browscap_Version']['Version'],
$download_php_browscap['GJK_Browscap_Version']['Version']);
if (copy($download_filename, $system_filename)) {
exec($apache_restart_cmd, $apache_output);
echo "Restarting apache:\n";
echo implode($apache_output, "\n");
if (!unlink($download_filename)) {
echo "Unable to delete the downloaded browscap ini\n";
}
} else {
echo "Unable to copy the downloaded browscap ini file into the system
directory\n";
}
} else {
$update_date =
strtotime($system_php_browscap['GJK_Browscap_Version']['Released']);
$days = (time() - $update_date) / 86400;
echo sprintf("Browscap not updated in %d days\n", $days);
}
} else {
echo "Download was not a recognized browscap ini file:\n";
echo implode($wget_output, "\n");
}
} else {
echo "Unable to download new php browscap ini file:\n";
echo implode($wget_output, "\n");
}