Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] consulta fopen()

Estas en el tema de consulta fopen() en el foro de PHP en Foros del Web. alguien me puede decir que significa o que se debería escribir en este código de fopen Código PHP: resource fopen  (  string $filename  ,  string $mode  [,  bool $use_include_path  ...
  #1 (permalink)  
Antiguo 23/04/2015, 16:25
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Pregunta consulta fopen()

alguien me puede decir que significa o que se debería escribir en este código de fopen

Código PHP:
resource fopen string $filename string $mode [, bool $use_include_path false [, resource $context ]] ) 
  #2 (permalink)  
Antiguo 23/04/2015, 16:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: consulta fopen()

Podrías consultar el manual en español, ¿no te parece?

Cita:
fopen() asocia un recurso con nombre, especificado por filename, a un flujo.
http://php.net/manual/es/function.fopen.php

Cita:
filename

Si filename está en la forma "esquema://...", se asume que será un URL y PHP buscará un gestor de protocolos (también conocido como envoltura) para ese protocolo. Si no está registrada ninguna envoltura para ese protocolo, PHP emitirá un aviso para ayudar a rastrear problemas potenciales en el script y continuará como si filename especificara un fichero normal.

Si PHP ha decidido que filename especifica un fichero local, intentará abrir un flujo para ese fichero. El fichero debe ser accesible para PHP, por lo que es necesario asegurarse de que los permisos de acceso del fichero permiten este acceso. Si está habilitado el modo seguro, o open_basedir se pueden aplicar más restricciones.

Si PHP ha decidido que filename especifica un protocolo registrado, y ese protocolo está registrado como un URL de red, PHP se asegurará de que allow_url_fopen está habilitado. Si es desactivado, PHP emitirá un aviso y la llamada a fopen fallará.

Nota:

La lista de protocolos soportados se puede encontrar en Protocolos y Envolturas soportados. Algunos protocolos (también descritos como envolturas) soportan contexto y/u opciones de php.ini. Consulte la página específica del protocolo en uso para una lista de opciones que se pueden establecer. (p.ej. el valor user_agent en php.ini usado por la envoltura http).

En la plataforma Windows, asegúrese de escapar cualquier barra invertida usada en la ruta de fichero, o use barras hacia delante.
<?php
$gestor = fopen("c:\\folder\\resource.txt", "r");
?>
mode

El parámetro mode especifica el tipo de acceso que se necesita para el flujo. Puede ser cualquiera de los siguientes:
Una lista de los modos posibles de fopen() usando mode mode Descripción
'r' Apertura para sólo lectura; coloca el puntero al fichero al principio del fichero.
'r+' Apertura para lectura y escritura; coloca el puntero al fichero al principio del fichero.
'w' Apertura para sólo escritura; coloca el puntero al fichero al principio del fichero y trunca el fichero a longitud cero. Si el fichero no existe se intenta crear.
'w+' Apertura para lectura y escritura; coloca el puntero al fichero al principio del fichero y trunca el fichero a longitud cero. Si el fichero no existe se intenta crear.
'a' Apertura para sólo escritura; coloca el puntero al fichero al final del fichero. Si el fichero no existe se intenta crear.
'a+' Apertura para lectura y escritura; coloca el puntero al fichero al final del fichero. Si el fichero no existe se intenta crear.
'x' Creación y apertura para sólo escritura; coloca el puntero al fichero al principio del fichero. Si el fichero ya existe, la llamada a fopen() fallará devolviendo FALSE y generando un error de nivel E_WARNING. Si el fichero no exite se intenta crear. Esto es equivalente a especificar las banderas O_EXCL|O_CREAT para la llamada al sistema de open(2) subyacente.
'x+' Creación y apertura para lectura y escritura; de otro modo tiene el mismo comportamiento que 'x'.
'c' Abrir el fichero para sólo escritura. Si el fichero no existe se crea. Si existe no es truncado (a diferencia de 'w'), ni la llamada a esta función falla (como en el caso con 'x'). El puntero al fichero se posiciona en el principio del fichero. Esto puede ser útil si se desea obtener un bloqueo asistido (véase flock()) antes de intentar modificar el fichero, ya que al usar 'w' se podría truncar el fichero antes de haber obtenido el bloqueo (si se desea truncar el fichero, se puede usar ftruncate() después de solicitar el bloqueo).
'c+' Abrir el fichero para lectura y escritura; de otro modo tiene el mismo comportamiento que 'c'.

Nota:

Familias de sistemas operativos diferentes tienen diferentes convenciones para el final de línea. Cuando escribe un fichero de texto y quiere insertar un salto de línea, necesita usar el carácter o caracteres correctos de final de línea para su sistema operativo. Los sistemas basados en Unix usan \n como el carácter de final de línea, los sistemas basados en Windows usan \r\n como caracteres de final de línea y los sistemas basados en Macintosh usan \r como carácter de final de línea.

Si usa los caracteres de final de línea erróneos cuando escribe sus ficheros, se podrá encontrar con que otras aplicaciones que abran esos ficheros "parecerán raras".

Windows ofrece una bandera de traducción en modo texto ('t') que traducirá de manera transparente \n a \r\n cuando se trabaja con el fichero. En contraste, puede usar 'b' para forzar el modo binario, lo cual no traducirá su información. Para usar estas banderas, especifique 'b' o 't' como el último carácter del parámetro mode.

El modo de traducción predeterminado depende de la SAPI y de la versión de PHP que esté usando, por lo que se le anima a especificar siempre la bandera apropiada por razones de portabilidad. Debería usar el modo 't' si está trabajando con ficheros de texto plano y usa \n para delimitar los finales de línea es su script, pero confíe que sus ficheros serán legibles por aplicaciones tales como notepad. Debería usar 'b' en los demás casos.

Si no especifica la bandera 'b' cuando está trabajando con ficheros binarios, puede experimentar problemas extraños con su información, incluidos ficheros imagen rotos o problemas extraños con los caracteres \r\n.

Nota:

Por portabilidad, se recomienda encarecidamente que siempre use la bandera 'b' cuando se abran ficheros con fopen().

Nota:

De nuevo, por portabilidad, también se recomienda encarecidamente que reescriba el código que usa o depende del modo 't' por lo que use los finales de línea correctos y el modo 'b' en su lugar.

use_include_path

El tercer parámetro opcional use_include_path puede ser establecido a '1' o TRUE si se desea buscar un fichero en include_path también.
context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/04/2015, 16:40
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Respuesta: consulta fopen()

Kuek! no fue solucionado e leído dos o tres veces lo que mandaste incluso tengo aun abierta la pag de php y de ahí saque el código escribí pero aun no entiendo para que funciona desde el bool en adelante creo qe no solucionaste nada, siempre antes de crear un tema acá primero me dedico a leer toda la info para saber....
  #4 (permalink)  
Antiguo 23/04/2015, 16:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: consulta fopen()

¿Cómo que no se entiende?

Cita:
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
El manual es muy claro:

Cita:
use_include_path

El tercer parámetro opcional use_include_path puede ser establecido a '1' o TRUE si se desea buscar un fichero en include_path también.
context

context

Nota: Soporte para context fue añadido en PHP 5.0.0. Para una descripción de contexts, refiérase a Flujos.
El enlace de "Flujos" es el siguiente: http://php.net/manual/es/book.stream.php

Ambos argumentos son opcionales, así que no necesitas entenderlos mientras no los necesites.

Si realmente quieres saber qué hacen deberías seguir navegando la documentación.

¿O qué parte sigues sin entender exactamente?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 23/04/2015, 17:06
 
Fecha de Ingreso: abril-2015
Mensajes: 27
Antigüedad: 9 años
Puntos: 1
Respuesta: consulta fopen()

o.o sigues copiando todo lo que e leído... te lo explicare así... lo que se lo se a la mala nunca e estudiado programación ni diseño web ni nada parecido... muchas veces hay cosas que no entiendo a que se refieren y me pasa mucho aun así logro hacer cosas sin entender completamente el código... se puede decir qe termino aprendiendo experiencialmente... y leí todo el código parte por parte todo junto e individual y aun así no entiendo ciertas cosas que aparecen en el si me lo explicas copiando exactamente todo lo que leí es lógico que no entenderé

me es mas fácil si explicaras con ejemplos o manzanitas
(una manzana es roja, pero por dentro es un color claro, con un sabor dulce, aveces suabe o aveces harinoso, te la puedes comer con cascara o la puedes pelar con un cuchillo y comer solo lo de adentro,) no se si me explico

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:08.