Location: PHPKode > scripts > Sitemap Creator > .st_func.php
<?php
/*
	Sitemap Creator 0.1, a php script that creates Sitemap 0.90 aka google,yahoo and msn sitemaps for your site
	It can be downloaded from http://walid.kurtubba.com/
	License: GPL

	Walid GadElKarim, hide@address.com
*/

/*
	functions
*/

//reading urls from .staticurls.txt file
function get_static_urls(){
	global $urls;
	$staturl = array_map('rtrim',file('.staticurls.txt'));
	foreach($staturl as $ech){
		$ech = split(' ', $ech);
		$urls[] = array('url'=>utf8_encode(htmlspecialchars($ech[0])),'per' => $ech[1],'time'=>gmdate("Y-m-d\TH:i:s",time())."+00:00",'freq' => $ech[2]);
	}
	_echo('Got '.count($urls).' URLS from .staticurls.txt','pass');
}
//creating sitemap.xml.gz
function create_sitemap(){
	global $urls,$settings;
	$cont = '<?xml version="1.0" encoding="utf-8" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><!-- generator="Sitemap Creator" --><!-- sitemap-generator-url="http://walid.kurtubba.com" sitemap-generator-version="0.1"  -->';
	foreach($urls as $url){
		$cont.='<url>';
		$cont.="<loc>$url[url]</loc>";
		$cont.="<lastmod>$url[time]</lastmod>";
		if($url['freq']) $cont.="<changefreq>$url[freq]</changefreq>";
		if($url['per']) $cont.="<priority>$url[per]</priority>";
		$cont.='</url>';
	}
	$cont.='</urlset>';
	if(!$fh = gzopen('files/sitemap.xml.gz', 'wb')) _echo('<div style="color:red">Could not write file please check you CHMOD folder files to 777</div>','error');
	gzwrite( $fh, $cont);
	gzclose($fh);
	_echo('File <a href='.$settings['siteurl'].'/sitemap.xml.gz>sitemap.xml.gz</a> written successfully Size:'.filesize('files/sitemap.xml.gz').'Bytes','pass');
}
//pinging google,yahoo and msn
function ping_em(){
	global $pings;
	foreach($pings as $domain =>$val)
		_echo("<div style='padding-bottom:20px;'><b>pinging <a href=$val>$domain</a> said</b><hr>".ping($domain)."</div>");
}
//connecting to sites
function ping($d)
{
	global $pings;
	$timeout = 5; //timeout in seconds
	$url = $pings[$d];
	$pings[$d] = "";
	$old = ini_set('default_socket_timeout', $timeout);
	if(!$fh = fopen($url, "r"))	return false;
	ini_set('default_socket_timeout', $old);
	stream_set_timeout($fh, $timeout);
	stream_set_blocking($fh, 0);
	while(!feof($fh))
		$pings[$d] .= fread($fh, 1024);
	fclose($fh);
	return $pings[$d] = strip_tags($pings[$d], '<br> <h2> <h1>');
}
//sending an email
function send_email($email){
	global $start_time, $urls, $pings;
	$msg = count($urls).' urls written to file at '.date(" h:i:s a ( l d  of  F Y )").' took me '.(time()-$start_time)." seconds.\r\n";
	foreach($pings as $domain =>$val)
		$msg .= "$domain said :".strip_tags($val)."\r\n\r\n";
	
	mail($email, 'sitemap created', $msg,'From:'.$email);
	_echo('Email Sent to '.$email,'pass');
}
function _echo($msg,$type=''){
	global $settings,$footer;
	if($settings['nooutput']) return;
	switch($type){
		case 'error': echo "<div style='color:red'>$msg</div>".$footer; exit;
		case 'pass': echo "<div style='color:green'>$msg</div>"; break;
		default: echo $msg;
	}
}
?>
Return current item: Sitemap Creator