Maitrisez votre préparation <br> maximiser votre chance
Page d acceuil Acceuil
Bienvenue sur votre bureau MetaComputer
Page d acceuil Mes licences
Acquerir un logiciel ou un service MetaComputer
Page d acceuil Gestion commerciale :
Devis, commandes, stock...
connexion à modabbir bureau
Se retrouver dans un véritable marché
Page d acceuil Hassib (comptabilite generale) :
Saisir, importer votre balance..
Sortir vos etats fiscaux,
Envoyer votre declaration via internet
Page d acceuil Adae : Gestion de paye.. :
Gestion de personnels,
elaborer bulletins de paye
effectuer la declaration de CNSS
Page d acceuil Meta Clouds = MetaUSB.. :
Votre espace de stockage offert par
MetaComputer. c'eat aussi lié à vos base de données,
si vous travaillez avec une application MetaComputer
Page d acceuil Al Morakib
pour surveiller et controler par cameras
ma maison, mon lieu de travail, mes depots...
Page d acceuil Mes PCs :pour surveiller et controler
mes ordinateurs, ceux de mes enfants
et meme les pcs du lieu de travail
Page d acceuil Service Meta GPS :
Reperer vos vehicules
Suivre et controler a distance
tous vos vehicules..
Page d acceuil Meta FAX
Envoyer des FAX sans ligne
et sans apareil
Decoller...
Page d acceuil Emailer
Envoyer à des Miliers
des e-mails de prospection
Page d acceuil Service MetaSMS :
Envoyer et gerer vos SMS
Faire des compagnes publicitaires
Avec des résultats sures et optimaux
Page d acceuil Meta-eEntreprise :
Votre entreprise sur le net..
Lancer, suivre une action commerciale
Page d acceuil Meta-eFormation :
Des supports de formation tres adaptés
à votre développement personnel,
A une activité professionnelle de pointe...
Page d acceuil jeux :
jeux pour les enfants
aussi pour les grands
Super-Logiciels pour vous
AsSaydalani
Un logiciel pour la gestion pharmaceutique ... - ventes aux guichets, reglements
- utilisation de codes barres
- Base de données des médicament saisie et ajour
- Gestion des achats et des fournisseurs
- Gestion des peromptions
- ...
Al Modabbir Beton
Une version de Al Modabbir destinée aux entreprises dont l'activité est la production et vente du beton ...
Al Tana9olat
Solution complète de la gestion des gares:
Quitances, voyages, loyers, ...
ALYASSIR
Gestion simple et performante :
- Facturation
- BLs
- Devis
- Commandes
- Reglements
- Clients et fournisseurs
Plus
Projets pour vous
Net sou9 / e-souk
NetFavoris 
NOUS |  contacter-nous
Avenue des F.A.R. Rsidence Niama N6 - Ttouan (Maroc)
Tl :(+212) 8 90 60 52 25
Fax :(+212) 5 39 97 25 15
Mobile :(+212) 6 61 10 74 37
Email :mce@meta-computer.com
 

Acceuil  php, js(426)  [PHP5] Google Sitemap
[PHP5] Google Sitemap 2010-12-25

Voici une classe permettant de générer un Google Sitemap en PHP5. Vous devez activer l'extension DOM pour pouvoir l'utiliser.
Sitemap.php

class Sitemap extends DOMDocument
{
protected $root;
protected $urls;

const FREQ_ALWAYS = 'always';
const FREQ_HOURLY = 'hourly';
const FREQ_DAILY = 'daily';
const FREQ_WEEKLY = 'weekly';
const FREQ_MONTHLY = 'monthly';
const FREQ_YEARLY = 'yearly';
const FREQ_NEVER = 'never';

public function __construct()
{
parent::__construct('1.0', 'utf-8');
$this->root = $this->createElement('urlset');
$this->root->setAttribute('xmlns', 'http://www.google.com/schemas/sitemap/0.84');
$this->appendChild($this->root);
}

public function createUrl($loc, $lastMod = NULL, $changeFreq = NULL, $priority = NULL)
{
if(!is_string($loc))
{
throw new Exception("L'URL devrait être une chaîne");
}

$DOMUrl = $this->createElement('url');
$this->root->appendChild($DOMUrl);
++$this->urls;

if($this->urls >= 50000)
{
throw new Exception("Un Sitemap ne peut contenir plus de 50.000 URLs");
}

$DOMLoc = $this->createElement('loc', $loc);
$DOMUrl->appendChild($DOMLoc);

if($lastMod)
{
if(!is_int($lastMod))
{
throw new Exception("Date au format incorrect");
}

$DOMLastMod = $this->createElement('lastmod', date('Y-m-d', $lastMod));
$DOMUrl->appendChild($DOMLastMod);
}

if($changeFreq)
{
if(!in_array($changeFreq,
array
(
self::FREQ_ALWAYS, self::FREQ_DAILY, self::FREQ_HOURLY,
self::FREQ_MONTHLY, self::FREQ_NEVER, self::FREQ_WEEKLY,
self::FREQ_YEARLY
)))
{
throw new Exception("Fréquence incorrecte");
}

$DOMChangeFreq = $this->createElement('changefreq', $changeFreq);
$DOMUrl->appendChild($DOMChangeFreq);
}

if($priority)
{
if(!is_float($priority))
{
throw new Exception("Priorité devrait être un entier");
}

if($priority < 0.1)
{
throw new Exception("Priorité ne devrait pas être négatif");
}

if($priority > 1)
{
throw new Exception("Priorité ne devrait pas être supérieur à 1");
}

$DOMLastMod = $this->createElement('priority', $priority);
$DOMUrl->appendChild($DOMLastMod);
}
}

public function createElement($element, $contents = NULL)
{
return parent::createElement($element, utf8_encode($contents));
}

public function setAttribute($attribute, $contents = NULL)
{
return parent::setAttribute($attribute, utf8_encode($contents));
}

public static function getTime($date)
{
list($day, $month, $year) = split('[./-]', $date);
return mktime(0, 0, 0, $month, $day, $year);
}
}

?>


La méthode getTime() prend un paramètre chaîne et le convertit en timestamp. Elle accepte les formats :
•JJ-MM-AAAA
•JJ/MM/AAAA
•JJ.MM.AAAA
Exemple d'utilisation de la classe Sitemap :

require 'Sitemap.php';

$sitemap = new Sitemap();

$sitemap->createUrl(
'http://g-rossolini.developpez.com/',
Sitemap::getTime('16/08/2007'),
Sitemap::FREQ_MONTHLY,
0.8
);

$sitemap->createUrl(
'http://g-rossolini.developpez.com/tutoriels/php/zend-framework/debuter/',
Sitemap::getTime('05/06/2007'),
Sitemap::FREQ_YEARLY
);

$sitemap->createUrl(
'http://g-rossolini.developpez.com/tutoriels/php/les-formulaires-et-php5/',
Sitemap::getTime('11/11/2006'),
Sitemap::FREQ_YEARLY
);

$sitemap->createUrl(
'http://g-rossolini.developpez.com/comparatifs/php/templates/',
Sitemap::getTime('19/03/2007'),
Sitemap::FREQ_YEARLY
);

header('Content-Type: text/xml; charset=utf-8');
echo $sitemap->saveXML();

?>

Commentaires des visiteurs :
Ajouter votre commentaire :
Nom :
E-mail :
Commentaire :


Espace Abonné

Mot passe oublié?

Créez un compte maintenant.
Publicité

 
Copyright ©2020. Metacomputer Engineering s.a.r.l . tous les droits réservés