Foros del Web » Programando para Internet » PHP »

control de errores en PHP

Estas en el tema de control de errores en PHP en el foro de PHP en Foros del Web. <? $f="f1.txt"; if (fopen($f,r+)) print("fichero abierto"); else print("fichero no se encuentra"); ?> ¿Como hago para que, en caso de que no exissta f1.txt, fopen() no ...
  #1 (permalink)  
Antiguo 29/11/2011, 07:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 299
Antigüedad: 16 años, 11 meses
Puntos: 2
Pregunta control de errores en PHP

<?
$f="f1.txt";
if (fopen($f,r+))
print("fichero abierto");
else
print("fichero no se encuentra");
?>

¿Como hago para que, en caso de que no exissta f1.txt, fopen() no me devuelva un warning?
  #2 (permalink)  
Antiguo 29/11/2011, 07:52
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años, 5 meses
Puntos: 394
Respuesta: control de errores en PHP

intenta @fopen
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 29/11/2011, 08:14
 
Fecha de Ingreso: julio-2006
Mensajes: 21
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: control de errores en PHP

con la @ delante te quitara los warnings de las funciones.
Puedes tambien quitar los warning del php.ini en el apartado SHOW MESSAGES, ay decides tu
  #4 (permalink)  
Antiguo 29/11/2011, 08:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: control de errores en PHP

en ese caso lo mejor es utilizar la función file_exists() para comprobarlo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 29/11/2011, 08:57
 
Fecha de Ingreso: diciembre-2007
Mensajes: 299
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: control de errores en PHP

Gracias a todos por vuestra ayuda.

¿Los modos de apertura "a+" o "w+" nunca me daran error(incluso aunque el fichero NO exista), ¿verdad?

¿En PHP no existe control de errores, tipo otros lenguajes como VB?¿al instruccion error_reporting?

Gracias de nuevo, saludos:D
  #6 (permalink)  
Antiguo 29/11/2011, 09:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 299
Antigüedad: 16 años, 11 meses
Puntos: 2
Respuesta: control de errores en PHP

<?
$f="fich.txt";
($fd=fopen($f,'r+'))?print("fichero abierto"):print("fichero no se encuentra");
fwrite($fd,"Hola hola caracola¡¡¡¡");
if(filesize($f)) {
fseek($fd,0,SEEK_SET);
$cont=fread($fd,filesize($f));
echo $cont; }
fclose($fd);
?>

Suponiendo que el fichero existe y tiene un tamaño de 0 bytes, ¿por que solo escribe la 1ª vez que ejecuto el codigo?
  #7 (permalink)  
Antiguo 29/11/2011, 09:55
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: control de errores en PHP

http://php.net/manual/es/function.fopen.php consulta la documentación sobre los diferentes modos.

con respecto al control de errores, PHP lo dispone según la versión, pero en el caso de éstas funciones heredadas de C no funciona, por lo cual lo más recomendable es usar file_exists, además debes de asegurarte que el directorio tenga los permisos de escritura necesarios.

de igual forma, si la función falla devuelve FALSE, por lo cual puedes comprobar:

Código PHP:
Ver original
  1. if ($fd === false) {
  2.     echo 'no se puede crear el archivo');
  3. }
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: control, errores
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 16:45.