Foros del Web » Programando para Internet » PHP »

Ayuda coneste codigo que genera archivos;)

Estas en el tema de Ayuda coneste codigo que genera archivos;) en el foro de PHP en Foros del Web. hola bueno miren tengo un problema el cual va asi estoy tratando de generar un SiteMap facilmente pero hay un detalle mis archivos son un ...
  #1 (permalink)  
Antiguo 23/07/2009, 11:55
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Ayuda coneste codigo que genera archivos;)

hola bueno miren tengo un problema el cual va asi estoy tratando de generar un SiteMap facilmente pero hay un detalle
mis archivos son

un archivo por defecto sitemap.xml

y contiene esto
Código:
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">


</urlset>
y con un codigo PHP voy añadiendo direcciones:
generador.php
Código PHP:
<form action="" method="post">
  Direccion: 
      <input type="text" name="url"  /><br /> 
    Prioridad: 
    
    <label>
      <select name="valor" id="valor">
        <option value="0.5">0.5</option>
        <option value="0.6">0.6</option>
        <option value="0.7">0.7</option>
        <option value="0.8">0.8</option>
        <option value="0.9">0.9</option>
      </select>
  </label>
    <br /> 
    <input type="submit" value="Enviar" /> 
</form> 
<?php
$variable_fecha 
date("Y-m-d");
$variable_hora date("h:i:s");
$t='T';

if(isset(
$_POST['url'])){ 
     
$url=$_POST['url'];
     
$valor=$_POST['valor'];
    
#se abre el fichero en modo lectura y escritura.   
    
$archivo fopen("datos.xml","a+"); 
     
    
#se crea uan variable con los datos a introducir. \r\n genera un salto de linea 
    
$cadena "<url>
<loc>$url</loc>
<priority>$valor</priority>
<changefreq>daily</changefreq>
<lastmod>$variable_fecha$t$variable_hora</lastmod>
</url>\r\n"
;  
    
fputs($archivo,$cadena);  
     
    
#se cierra el fichero 
    
fclose($archivo);  

?>

ahora el problema es que las direcciones se añaden perfectamente pero no donde deberian se supone que cada direccion debe estas por ensima de
Código PHP:
</urlset
y no queda por debajo generando mal el archivo queda asi

Código PHP:
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">


</
urlset>
<
url>
<
loc>http:/miweb.com</loc>
<
priority>0.5</priority>
<
changefreq>daily</changefreq>
<
lastmod>2009-07-23T05:50:08</lastmod>
</
url


deberia quedar
Código PHP:
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">

<
url>
<
loc>http://miweb.com/</loc>
<priority>0.5</priority>
<
changefreq>daily</changefreq>
<
lastmod>2009-07-23T05:50:08</lastmod>
</
url>
</
urlset
  #2 (permalink)  
Antiguo 23/07/2009, 12:00
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda coneste codigo que genera archivos;)

Cita:
ahora el problema es que las direcciones se añaden perfectamente pero no donde deberian se supone que cada direccion debe estas por ensima de
En ningun momento especificas de que se añada antes de </urlset>

Obten todo el contenido del archivo, borra la ultima linea añade el boque <url> y luego vuelve a poner el </urlset> al final.

http://www.php.net/manual/en/ref.filesystem.php
  #3 (permalink)  
Antiguo 23/07/2009, 12:07
Avatar de chulifo  
Fecha de Ingreso: abril-2009
Ubicación: perdido en codigos del PHP, pero aprendo rapido!
Mensajes: 524
Antigüedad: 15 años
Puntos: 18
Respuesta: Ayuda coneste codigo que genera archivos;)

Cita:
Iniciado por Ronruby Ver Mensaje

Obten todo el contenido del archivo, borra la ultima linea añade el boque <url> y luego vuelve a poner el </urlset> al final.
disculpa no te entendí esto me explicas?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:32.