@colvi said:
Salve ragazzi, già tempo fa cercai di risolvere il problema e scrissi sempre sul forum il problema che avevo e che tutt'oggi non sono ancora riuscito a risolvere.
Veniamo al dunque: Il file della sitemap.xml che genero lanciando lo script mi crea una sitemap molto grande tanto da non permettermi il download con comuni programmi, solo con filezzilla riesco a scaricarlo.
Veniamo al codice:
<?
$root=$_SERVER['DOCUMENT_ROOT'];
include($root."/inc/config.php");
$prioritastrutture = "0.5";
$fp = fopen("sitemap.xml", "w"); (scrive sul server il file sitemap.xml)
if($fp==false)
die("unable to create file");
else {
fputs($fp, "<?xml version="1.0" encoding="UTF-8"?>\r\n");
fputs($fp, "<urlset\r\n");
fputs($fp, "xmlns="/ogle.com/schemas/sitemap/0.84"\r\n");
fputs($fp, "xmlns:xsi=" w3.org/2001/XMLSchema-instance"\r\n");
fputs($fp, "xsi:schemaLocation=" google.com/schemas/sitemap/0.84\r\n");
fputs($fp, " google.com/schemas/sitemap/0.84/sitemap.xsd">\r\n");
include($root.'/inc/sitemap/primasezione_wr.php'); (prende i link presenti in questa sezione e li scrive sul file sitemap.xml)
//include($root.'/inc/sitemap/secondasezione_wr.php');
//include($root.'/inc/sitemap/terzasezione_wr.php');
//include($root.'/inc/sitemap/quartasezione_wr.php');
//include($root.'/inc/sitemap/quintasezione_wr.php');
fputs($fp, "</urlset>\r\n");
while (!feof($fp)) {
echo fgets($fp, 1024);
}
fclose($fp);
}
?>
Ora, volendo creare più file generandoli in modo dinamico che non superi ognuno i 50.000 url come potrei modificare il codice?
In pratica vorrei paginarli in modo dinamico.
Il cuore del codice richiamato è il seguente:
<?
$query_affitto="SELECT * FROM immobile WHERE abilitato='s' AND proposta='affitto' AND offerta_speciale='si' ORDER BY 'id' DESC";
$result_affitto=mysql_query($query_affitto) or die ($query_affitto);
$numeroaff=mysql_num_rows($result_affitto);
?>
<?
if ($numeroaff>0) {
while ($row_affitto=mysql_fetch_array($result_affitto))
{
$query_aff4="SELECT * FROM comune WHERE id=$row_affitto[comune]";
$result_aff4=mysql_query($query_aff4) or die ($query_aff4);
$row_aff4=mysql_fetch_array($result_aff4);
$comune=$row_aff4[nome_comune];
$comune1=str_replace(" ", "_",$comune);
$comune2=str_replace("'", "_",$comune1);
$typo1=str_replace(" ", "_",$row_affitto[tipologia]);
$typo2=str_replace("'", "_",$typo1);
$typo3=str_replace(" ", "-",$row_affitto[tipologia]);
$typo4=str_replace("'", "-",$typo3);?>
<url>
<loc>/ita/a-<? echo $comune2; ?>-<? echo $typo2; ?>-in-<? echo $row_affitto[proposta]; ?>-<? echo $row_affitto[id]; ?>.html</loc>
<lastmod><? echo $datamodifica; ?></lastmod>
<priority><? echo $prioritaaffitto; ?></priority>
</url>
<url>
<loc>/ita/<? echo $typo4; ?>in<? echo $row_affitto[proposta]; ?>-1.html</loc>
<lastmod><? echo $datamodifica; ?></lastmod>
<priority><? echo $prioritaaffitto; ?></priority>
</url>
<url>
<loc>/offerte/<? echo $comune2; ?>/<? echo $row_affitto[proposta]; ?>/<? echo $row_affitto[comune]; ?>/1/index.html</loc>
<lastmod><? echo $datamodifica; ?></lastmod>
<priority><? echo $prioritaaffitto; ?></priority>
</url>
<? } } ?>
<url>
<loc>/case-nel-salento/immobili-in-affitto-1.html</loc>
<lastmod><? echo $datamodifica; ?></lastmod>
<priority><? echo $prioritaaffitto; ?></priority>
</url>
Grazie Anticipatamente.