Que es PHP 31f15


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)
fthru lee completamente el archivo y lo muestra fthru($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);
Compartir

Mi nombre es Alexander fundador y CEO, y me gusta llamarme un Geek. Amo la informática, tecnología y todo lo que está relacionado con ella. Inicié este sitio con la intención de compartir conocimientos como cursos en línea, tutoriales y videotutoriales. Estoy muy entusiasmado con la información que he descubierto y compartido hasta el momento. La verdad es que lo he hecho con el mayor de los gustos. Así es, soy un Geek con una visión para compartir conocimiento. Leer mas...