para crear archivos txt con php tenemos que tener los datos que le vamos a incrustar, si queremos que tenga contenido claro esta.
Para poder crear archivos, es necesario saber que funciones vamos a usar. Pues ¿Por que no verlos ahora?.
Esto en función de lectura de archivos.
Función | Descripción | Sintaxis |
---|---|---|
fopen | Abre un archivo y le asigna un identificador id | $id = fopen($archivo, $modo) |
fgets | Lee una línea de un archivo hasta un numero máximo de caracteres | fgets($id,$max) |
fwrite ó fputs | Escribe una cadena dentro del archivo | fwrite($id, $cadena) ó fputs($id, $cadena) |
fseek | Avanza o retrocede el puntero del archivo un cierto numero de posiciones | fseek($id,$posiciones) |
feof | Comprueba si el puntero que lee el archivo ha llegado al final | feof($id) |
fpassthru | lee completamente el archivo y lo muestra | fpassthru($id) |
fclose | Cierra el archivo abierto previamente | fclose($id) |
Y su modo de apertura (o que queremos hacer con el archivo)
Sintaxis | Descripción |
---|---|
‘r’ | Sólo lectura |
‘r+’ | Lectura y escritura |
‘w’ | Sólo escritura |
‘w+’ | Lectura y escritura. Suprime el contenido anterior si se escribe. El archivo es creado si no existe. |
‘a’ | Sólo escritura. El archivo es creado si no existe y el puntero se coloca al final. |
‘a+’ | Lectura y escritura. El archivo es creado si no existe y el puntero se coloca al final. |
Para este caso estaremos utilizando lo que son las funciones fopen(), fwrite() o fputs() (el que mas quieran) y fclose()
Así que empecemos creando un archivo formulario.html. Que contendrá un formulario.
<form action="crear.php" method="post">
<textarea name="contenido"></textarea>
</form>
Después creamos el archivo crear.php que contendrá el código que necesitamos para crear el archivo txt.
En el archivo crear.php escribimos lo siguiente:
Obtenemos los datos del input contenido en una variable con $_POST[”], recordemos que lo estamos enviando con el metodo post.
$contenido = $_POST['contenido'];
A partir de aqui es donde viene lo chido.
En una variable le escribimos la función fopen() especificando en los parentesis dos parámetros
- El nombre del archivo que queremos que se abra
- Su apertura
Entonces, si vemos la tabla de aperturas de arriba, veremos que la que mas cubre nuestras necesidades en este caso el ‘a’ ya que el archivo no existe y se tiene que crear. entonces nos quedaria algo así.
$archivo = fopen('archivo.txt','a');
Una vez teniendo el archivo le podemos incrustar el contenido. Para ello usamos la función fputs(). Tambien con sus dos parámetros:
- A que archivo le vamos a incrustar el contenido
- Que contenido le vamos a incrustar en el archivo
Si ambos parámetros están dentro de una variable, pues que mejor, así será mas corta la linea de código. En este caso si que las tenemos en una variable.
Nos quedaría algo así:
fputs($archivo,$contenido);
Podemos utilizar la función fputs() las veces que queramos. Una vez ya incrustándole el contenido y todo lo demás, se acostumbra cerrar el archivo que temos abierto en fopen(). Con fclose().
fclose($archivo);
Con esto ya el archivo nos debería de aparecer en la carpeta, donde se encuentra los archivos fromulario.html y crear.php. Ahora si queremos crear los archivos txt en otra carpeta, solo con especificar la ruta de las carpetas en donde queremos que se creén en la funcion fopen(). Ejemplo:
$archivo = fopen('
<strong>contenido/archivos/txt/
</strong>archivo.txt','a')
A otra cosa, las carpetas que conforman la ruta del archivo deben de estar creadas, ya que si no, nos sale error.
En resumen:
$contenido = $_POST['contenido'];
$archivo = fopen('archivo.txt','a');
fputs($archivo,$contenido);
fclose($archivo);
Comentarios