La función fopen() en PHP es una función incorporada que se usa para abrir un archivo o una URL. Se usa para vincular un recurso a un vapor usando un nombre de archivo específico. El nombre de archivo y el modo a verificar se envían como parámetros a la función fopen() y devuelve un recurso de puntero de archivo si se encuentra una coincidencia y un Falso en caso de falla. La salida de error se puede ocultar agregando una ‘@’ delante del nombre de la función.
Sintaxis:
resource fopen ( $file, $mode, $include_path, $context)
Parámetros usados:
La función fopen() en PHP acepta cuatro parámetros.
- $archivo : Es un parámetro obligatorio que especifica el archivo.
- $mode : es un parámetro obligatorio que especifica el tipo de acceso del archivo o flujo.
Puede tener los siguientes valores posibles:- “r”: Representa solo lectura. Comienza al principio del archivo.
- “r+”: Representa Lectura/Escritura. Empieza al principio del archivo.
- “w”: Representa solo escritura. Abre y borra el contenido del archivo o crea un nuevo archivo si no existe.
- “w+”: Representa Lectura/Escritura. Abre y borra el contenido del archivo o crea un nuevo archivo si no existe.
- “a”: Representa solo Escritura. Abre y escribe hasta el final del archivo o crea un nuevo archivo si no existe.
- “a+”: Representa Lectura/Escritura. Conserva el contenido del archivo escribiendo al final del archivo.
- “x”: Representa solo Escritura. Crea un nuevo archivo y devuelve FALSO y un error si el archivo ya existe.
- “x+”: Representa Lectura/Escritura. Crea un nuevo archivo y devuelve FALSO y error si el archivo ya existe.
- $include_path : es un parámetro opcional que se establece en 1 si desea buscar el archivo en include_path (Ej. php.ini).
- $context : es un parámetro opcional que se utiliza para establecer el comportamiento de la transmisión.
Valor de retorno:
devuelve un recurso de puntero de archivo en caso de éxito o FALSO en caso de error.
Excepciones:
- Al escribir en un archivo de texto, se debe usar el carácter de final de línea correcto según la plataforma. Por ejemplo, los sistemas Unix usan \n, los sistemas Windows usan \r\n y los sistemas Macintosh usan \r como el carácter de final de línea.
- Se recomienda usar el indicador ‘b’ al abrir archivos con fopen().
- Se genera un error de nivel E_WARNING si falla la apertura.
- Cuando el modo seguro está habilitado, PHP verifica si el directorio en el que opera el script tiene el mismo UID (propietario) que el script que se está ejecutando.
- Si no está seguro de si el nombre de archivo es un archivo o un directorio, es posible que deba usar la función is_dir() antes de llamar a fopen(), ya que la función fopen() también puede tener éxito cuando el nombre de archivo es un directorio.
Los siguientes programas ilustran la función fopen() .
Programa 1:
<?php // Opening a file using fopen() // function in read only mode $myfile = fopen("/home/geeks/gfg.txt", "r") or die("File does not exist!"); ?>
Producción:
File does not exist!
Programa 2:
<?php // Opening a file using fopen() // function in read/write mode $myfile = fopen("gfg.txt", 'r+') or die("File does not exist!"); $pointer = fgets($myfile); echo $pointer; fclose($myfile); ?>
Producción:
portal for geeks!
Programa 3:
<?php // Opening a file using fopen() function // in read mode along with b flag $myfile = fopen("gfg.txt", "rb"); $contents = fread($myfile, filesize($myfile)); fclose($myfile); print $contents; ?>
Producción:
portal for geeks!
Programa 4:
<?php // Opening a file using fopen() function // in read/write mode $myfile = fopen("gfg.txt", "w+"); // writing to file fwrite($myfile, 'geeksforgeeks'); // Setting the file pointer to 0th // position using rewind() function rewind($myfile); // writing to file on 0th position fwrite($myfile, 'geeksportal'); rewind($myfile); // displaying the contents of the file echo fread($myfile, filesize("gfg.txt")); fclose($myfile); ?>
Producción:
geeksportalks
Referencia:
http://php.net/manual/en/function.fopen.php
Publicación traducida automáticamente
Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA