Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/10/2010, 10:40
Avatar de Shaito
Shaito
 
Fecha de Ingreso: agosto-2010
Mensajes: 383
Antigüedad: 13 años, 8 meses
Puntos: 37
Option Select que determina el tipo de archivo

Hola!

Tengo un script que sirve pera crear archivos de forma online en php, txt, html y de más formatos, pero la cosa es que no se como hacer para que desde un option o un input se determine la terminación del archivo.

Por ejemplo, si quiero crear un archivo en .php, desde un input ponga php y al guardar el archivo se quede con esa extensión.

Este es el code sencillo, muy sencillo para crear los archivos:

Creador.php
Código PHP:
Ver original
  1. <form name="form1" method="post" action="aquel.php">
  2.        Titulo:<input type="text" name="titulo" />  
  3.        Entrada:<textarea type="text" name="entrada" /></textarea>
  4.         <input type="submit" value="enviar"/>
  5.  
  6. </form>

Publicado.php
Código PHP:
Ver original
  1. // Lo tengo configurado para que el resultado salga con unos divs específicos, pero esa no es la cuestión ;-)
  2. <?php  
  3.         $titulo = $_POST["titulo"];
  4.     $entrada = $_POST["entrada"];
  5.     $top = "<div class=\"entrada\">";
  6.     $intro = "\n";
  7.     $divtitulo = "<div class=\"titulo\">";
  8.     $diventrada = "</div> \n <div class=\"entrada\">";
  9.     $cierra = "</div> \n </div>";
  10.      
  11. // La cosa viene aquí, se crea un archivo con el nombre del título y por defecto puse la extensión de txt, pero eso es lo que quiero cambiar.
  12. $nombre_archivo = "$titulo.txt";
  13. $contenido = "/n $top /n $divtitulo /n $titulo $intro $diventrada /n $entrada /n $cierra /n";
  14. fopen($nombre_archivo, 'a+');
  15.  
  16. // Asegurarse primero de que el archivo existe y puede escribirse sobre el.
  17. if (is_writable($nombre_archivo)) {
  18.  
  19.    // En nuestro ejemplo estamos abriendo $nombre_archivo en modo de adicion.
  20.    // El apuntador de archivo se encuentra al final del archivo, asi que
  21.    // alli es donde ira $contenido cuando llamemos fwrite().
  22.    if (!$gestor = fopen($nombre_archivo, 'a')) {
  23.          echo "No se puede abrir el archivo ($nombre_archivo)";
  24.          exit;
  25.    }
  26.  
  27.    // Escribir $contenido a nuestro arcivo abierto.
  28.    if (fwrite($gestor, $contenido) === FALSE) {
  29.        echo "No se puede escribir al archivo ($nombre_archivo)";
  30.        exit;
  31.    }
  32.    
  33.    echo "&Eacute;xito, se escribi&oacute; ($contenido) al archivo ($nombre_archivo)";
  34.    
  35.    fclose($gestor);
  36.  
  37. } else {
  38.    echo "No se puede escribir sobre el archivo $nombre_archivo";
  39. }
  40. ?>


Explicado un poco el code.. a alguien se le ocurre como sería el code para obtener la terminación con un input o un option?

Otra pregunta, he visto, que muchas webs, por ejemplo esta, cuando creas un comentario o una entrada tienes la opción de que si tu code es de php o de html se muestre con diferentes colores. Por otra parte, programas como Dreamweaver o Notepad ++ lo hacen de manera automática mientras escribes, hay algún script que consiga ese resultado?


Gracias por adelantado!