Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/07/2010, 00:57
Mxrck
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: sistema de noticias, guardar noticia en .php no en BD

La verdad que es mejor usar una base de datos, pero si quieres usar lo de los archivos php separados puedes hacer algo como esto:

Código PHP:
<?php
/*  Esta funcion trae los nombres de archivos dentro de un directorio
 *    Sus parametros son ("directorio", "tipo")
 *    file_list_reverse("./noticias","*.php) en tu caso)
 *    los regresa en orden alfabetico del mayor al menor
 *    {'10','09','08','07','06'....}
*/
function file_list_reverse($d,$x){
       foreach(
array_diff(scandir($d),array('.','..')) as $f)if(is_file($d.'/'.$f)&&(($x)?ereg($x.'$',$f):1))$l[]=$f;
       if (
$l){
       
$reverse array_reverse($l);
       return 
$reverse;
       }
       return 
$l;
}

/*Se verifica si ha sido enviado el formulario*/ 
if ($_POST['enviar']){
    
$ultimaNoticia file_list_reverse("./noticias/""*.php");
    
$ultimoPHP "01";
    
//Si existen archivos dentro de la carpeta noticias
    
if ($ultimaNoticia){
        
//Revisando cual ha sido la ultima y separamos el nombre de la extencion
        
$nombre_del_archivo explode(".",$ultimaNoticia[0]);
        
$ultimoPHP $nombre_del_archivo[0];
        
//Aumentamos en 1 sera el nuevo nombre de nuestro .php
        
$ultimoPHP++;
        
//Comprobamos si es menor a diez para mantener el formato 01,02 en vez de 1,2
        
if ($ultimoPHP 10)
            
$ultimoPHP "0" $ultimoPHP;
          }              
    
/*Escribiendo El Archivo PHP Con La Noticia*/
    
$archivo_noticia_php fopen("./noticias/" $ultimoPHP ".php","w+");
    
/*Aqui el formato que le quieras dar a tu noticia*/
    
$formato_noticia =
        
"<?php\n" .
        
"echo \"<div align=\\\"center\\\">" $_POST['titulo'] . "</div><br /><br />\"\n;" .
        
"echo \"" $_POST['noticia_nueva'] . "\"\n;" .
        
"?>";
    
fwrite($archivo_noticia_php,$formato_noticia); 
    
fclose($archivo_noticia_php);          
    echo 
"<font color=\"#0000FF\">Noticia Agregada con Exito En El Archivo $ultimoPHP.php</font><br />";
}
?>  


<br />Agregar Noticia<br /><br />
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'?>">
Titulo:<br />
<input type="text" name="titulo" size="50" /><br />
Noticia:<br />
<textarea name="noticia_nueva" rows="10" cols="50">Texto de la noticia</textarea>
<br />
<input type="submit" name="enviar" value="Crear Noticia" />
</form>
bueno esa es solo la idea de lo que quieres tendrias que trabajarlo mas, y tambien si necesitas agregarle mas campos al formulario.