Generador de Sitemaps PHP y MySQL

  • Autor Autor Zentido
  • Fecha de inicio Fecha de inicio
Zentido

Zentido

Iota
Programador
Verificación en dos pasos activada
Bueno esto tool lo hize para generar muchas urls en sitemaps de una base de datos que tenia guardada, quizas les sirva para hacer sus propios sitemaps.
{Pàra usarlo require algo de conocimiento php}

Aqui va
Insertar CODE, HTML o PHP:
<?php
/**
 * @author  Franco Salcedo
 * [MENTION=3037]Link[/MENTION]    Generador de sitemaps miltiples :)
 */

error_reporting(E_ALL);
set_time_limit(0);

    const _CONF_MYSQL_DB    = 'letras',
          _CONF_MYSQL_HOST  = 'localhost',
          _CONF_MYSQL_USER  = 'root',
          _CONF_MYSQL_PASS  = '',

          PREFIJO = 'siteamps_';

    try {
        $db = new PDO("mysql:dbname=" . _CONF_MYSQL_DB . ";host=" . _CONF_MYSQL_HOST, _CONF_MYSQL_USER, _CONF_MYSQL_PASS);
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch (PDOException $e) {
        echo "Error de Conexion: " . $e->getMessage();
        die;
    }

// una funcion seo que pueden utilizar.
function seeo($string, $slug = '-', $maxlength = 0){
    $seo = strtolower(trim(preg_replace('~[^0-9a-z]+~i', $slug, html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), $slug));
    $seo = (!empty($maxlength)) ? substr($seo, 0, strrpos(substr($seo, 0, $maxlength), $slug)) : substr($seo, 0, 50);
    return $seo;
}

function saveFile($name, $buffer){
    // acomodar la carpeta donde se ha de generar
    $file = fopen("sitemaps/$name.xml", "w+");
    fwrite($file, $buffer);
    fclose($file);
}


// acomodar la consulta segun sus necediades
$sql = $db->prepare("select * from temas");
$sql->execute();

$actua   = 0;
$mem     = '';
$numfile = 1;

while ($p = $sql->fetchObject()) {
    if ($actua == 20000) {
        $actua = 0;
        $in    = '<?xml version="1.0" encoding="utf-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
        $fi    = '</urlset>';
        $file  =  PREFIJO . $numfile;
        saveFile($file, $in . $mem . $fi);
        $mem = '';
        $numfile++;
    }

    // En esta linea configurar como deben de ir sus urls
    $mem .= '<url><loc>[url]http://www.web.com/[/url]' . $p->soy_un_campo . '/</loc></url>';
    $actua++;
}

    echo "Se generaron $numfile Sitemaps";
?>
Espero les ayude compañeros de forobeta. 😛7:
 
muy util, gracias
 
bacana la forma como usas OOP
 
Atrás
Arriba