Foros del Web » Programando para Internet » PHP »

Error en php

Estas en el tema de Error en php en el foro de PHP en Foros del Web. Ise una pagina llamada php.php y al abrirla en el navegador solo sale <br /> <b>Warning</b>: fopen(): Unable to access datos.txt in <b>/home/webcindario/webexperto/php.php</b> on line ...
  #1 (permalink)  
Antiguo 14/12/2004, 12:02
 
Fecha de Ingreso: diciembre-2004
Ubicación: En mi ksa
Mensajes: 267
Antigüedad: 13 años
Puntos: 0
Error en php

Ise una pagina llamada php.php y al abrirla en el navegador solo sale

<br />
<b>Warning</b>: fopen(): Unable to access datos.txt in <b>/home/webcindario/webexperto/php.php</b> on line <b>23</b><br />
<br />
<b>Warning</b>: fopen(datos.txt): failed to open stream: No such file or directory in <b>/home/webcindario/webexperto/php.php</b> on line <b>23</b><br />
<br />
<b>Warning</b>: filesize(): Stat failed for datos.txt (errno=2 - No such file or directory) in <b>/home/webcindario/webexperto/php.php</b> on line <b>25</b><br />
<br />
<b>Warning</b>: fread(): supplied argument is not a valid stream resource in <b>/home/webcindario/webexperto/php.php</b> on line <b>25</b><br />
<br />
<b>Warning</b>: fclose(): supplied argument is not a valid stream resource in <b>/home/webcindario/webexperto/php.php</b> on line <b>26</b><br />
<br />
<b>Fatal error</b>: Maximum execution time of 5 seconds exceeded in <b>/home/webcindario/webexperto/php.php</b> on line <b>28</b><br />

xq pasa? saludos
__________________
--------------------------------------------------
[::Matthew Beyer::]
MaEsTrOsWeB
Chile
--------------------------------------------------
  #2 (permalink)  
Antiguo 14/12/2004, 12:09
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 14 años, 1 mes
Puntos: 0
Si pusieras el codigo fuente seria mas apropiado para ver las lines en las que puede haber error porque ese error dice que no se puede haccesar a ese archivo verifica la ruta del archivo o los permisos que tengas pero te recomiendo que pongas el codigo para que veamos el error
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸[email protected]°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #3 (permalink)  
Antiguo 14/12/2004, 12:15
 
Fecha de Ingreso: diciembre-2004
Ubicación: En mi ksa
Mensajes: 267
Antigüedad: 13 años
Puntos: 0
Es bastante grande ahi va

Código:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#000033" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF">
<div align="center"> 
  <p><strong><font color="#CCCCCC" size="4">Visitantes Online<a name="online"></a></font></strong></p>
</div>
<p align="center"><strong><font color="#CCCCCC" size="4">
  <textarea name="textarea" cols="50" rows="8"><?
// Configuración de las variables
$arch = "datos.txt";
// Archivo de datos de los usuarios (ruta completa dentro del servidor).
$logoutTime = 900;
// Indica el tiempo en segundos tras el que un usuario es considerado inactivo.

$IP = $REMOTE_ADDR;
$count = 0;
$res = '';
$fp = fopen($arch,"r");
$t = time();
$content = fread($fp,filesize($arch));
fclose($fp);
$lineas = split(" ",$content);
for ($i=0; $i < count($lineas); $i ) {
    $datos = split(':',$lineas[$i]);
    $n = $t - $logoutTime;
    if ($datos[0] != $IP && $datos[1] > ($n)) {
      $res .= "$datos[0]:$datos[1] ";
     $count ;
   }
}
$res .= "$IP:$t ";
$count ;
$fp = fopen($arch,"w");
fwrite ($fp,$res);
fclose($fp);
echo "Hay $count visitantes activos"; 
?></textarea>
  </font></strong><strong><font color="#CCCCCC" size="4"> </font></strong></p>
<p align="center">
  <?
// Configuración de las variables
$arch = "datos.txt";
// Archivo de datos de los usuarios (ruta completa dentro del servidor).
$logoutTime = 900;
// Indica el tiempo en segundos tras el que un usuario es considerado inactivo.

$IP = $REMOTE_ADDR;
$count = 0;
$res = '';
$fp = fopen($arch,"r");
$t = time();
$content = fread($fp,filesize($arch));
fclose($fp);
$lineas = split(" ",$content);
for ($i=0; $i < count($lineas); $i ) {
    $datos = split(':',$lineas[$i]);
    $n = $t - $logoutTime;
    if ($datos[0] != $IP && $datos[1] > ($n)) {
      $res .= "$datos[0]:$datos[1] ";
     $count ;
   }
}
$res .= "$IP:$t ";
$count ;
$fp = fopen($arch,"w");
fwrite ($fp,$res);
fclose($fp);
echo "Hay $count visitantes activos"; 
?>
  &nbsp;</p>
<p align="center">-------------------------------------------------------------</p>
<p align="center"><strong><font color="#CCCCCC" size="4">Contador de visitas<a name="cont"></a></font></strong></p>
<p align="center"><strong><font color="#CCCCCC" size="4"> 
  <textarea name="textarea2" cols="50" rows="8"><?

$counterFile = "visitas.txt";

function displayCounter($counterFile) { 
   $fp = fopen($counterFile,rw); 
   $num = fgets($fp,5); 
   $num = 1; 
   echo "$num"; 
   exec( "rm -rf $counterFile"); 
   exec( "echo $num > $counterFile");
}

if (!file_exists($counterFile)) { 
   exec( "echo 1 > $counterFile"); 
}

displayCounter($counterFile);
?>
</textarea>
  </font></strong></p>
<p align="center">
  <?

$counterFile = "visitas.txt";

function displayCounter($counterFile) { 
   $fp = fopen($counterFile,rw); 
   $num = fgets($fp,5); 
   $num = 1; 
   echo "$num"; 
   exec( "rm -rf $counterFile"); 
   exec( "echo $num > $counterFile");
}

if (!file_exists($counterFile)) { 
   exec( "echo 1 > $counterFile"); 
}

displayCounter($counterFile);
?>
</p>
<p align="center">---------------------------------------------------------&nbsp;</p>
<p align="center"><font color="#CCCCCC" size="4"><strong>Contador Descargas.</strong></font> 
  <a name="cont2"></a> </p>
<p align="center">
<p align="center"> <strong><font color="#CCCCCC" size="4"> 
  <textarea name="textarea3" cols="50" rows="8">1.- Debeis crear y guardar un archivo llamado por ejemplo download.php con el siguiente código.

<?
$extension = ".zip"; // EXTENSION DE ARCHIVOS 

if (file_exists("$archivo$extension")) { 
header("location: $archivo$extension"); 
$file = fopen("contador/$archivo.txt","r"); // contador de downloads 
$count = fread($file, 100); 
$countplus = ($count + 1); 
fclose($file); 
$fileb = fopen("contador/$archivo.txt","w"); 
fwrite($fileb, $countplus, 100); 
fclose($fileb); 
}

else { echo "El archivo <b>$archivo$extension</b> no existe"; }

?>


2.- Seguidamente debeis crear en vuestro ftp una carpeta que se llame contador y le dais CHMOD 777

El download.php tiene que estar en el mismo directorio o carpeta donde esté el archivo a descargar. Para que el contador funcione correctamente debemos colocar todo en el mismo sitio.
* EJEMPLO:
Si tenemos un archivo para descargar llamado cancion.zip, pues download.php y el archivo cancion.zip lo meteremos en el mismo lugar, y la carpeta "contador" también. Y colocaremos la siguiente url para descargar el archivo:

http://tupagina.com/download.php?archivo=cancion

Para mostrar en cualquier lugar de tu página el número de descargas realizadas debereis colocar el siguiente código:

<?php include("contador/cancion.txt"); ?>

Debes saber que para cada archivo debes crear un .txt con su respectivo nombre, tantos archivos txt como archivos a descargar tengas o quieras saber sus estadisticas de descarga, que los subirás en la carpeta "contador", y les darás CHMOD 666.

</textarea>
  </font></strong>
<p align="center"><strong><font color="#CCCCCC" size="4">-----------------------------------------------------------</font></strong> 
<p align="center"><strong><font color="#CCCCCC" size="4">Mostrar IP</font></strong> 
  <a name="ip"></a>
<p align="center"><strong><font color="#CCCCCC" size="4"> 
  <textarea name="textarea4" cols="50" rows="7"><?php

$ip=getenv($REMOTE_ADDR);
include("config.php");
echo $conectar;
echo $ip;
?>
</textarea>
  </font></strong>
<p align="center">
  <?php

$ip=getenv($REMOTE_ADDR);
include("config.php");
echo $conectar;
echo $ip;
?>
<p align="center">---------------------------------------------------------&nbsp; 
<p align="center"><strong><font color="#CCCCCC" size="4">Mostrar la fecha actual</font></strong> 
  <a name="fecha"></a>
<p align="center"><strong><font color="#CCCCCC" size="4"> 
  <textarea name="textarea5" cols="50" rows="8"><?php 
#****Mes en letras****# 
echo "<b>Decowar.com<br>"; 
print date("d"); 
$m = date("m") -1; 
$ma= array("Enero","Febrero","Marzo","Abril", 
"Mayo","Junio","Julio","Agosto","Septiembre", 
"Octubre","Noviembre","Diciembre") ; 
$ml = " de $ma[$m] del "; 
echo "$ml"; 
print date("Y"); 
echo ".</b>"; 

?> </textarea>
  </font></strong>
<p align="center">
  <?php 
#****Mes en letras****# 
echo "<b>Decowar.com<br>"; 
print date("d"); 
$m = date("m") -1; 
$ma= array("Enero","Febrero","Marzo","Abril", 
"Mayo","Junio","Julio","Agosto","Septiembre", 
"Octubre","Noviembre","Diciembre") ; 
$ml = " de $ma[$m] del "; 
echo "$ml"; 
print date("Y"); 
echo ".</b>"; 

?>
<p align="center">&copy; Copyright 2004 <a href="www.webexperto.cl.tc" target="_blank"><font color="#0099FF">Webexperto</font></a>. 
  Todos los derechos reservados.<br>
  Cualquier comentario o sugerencia sobre este sitio puede ser enviado al webmaster.<strong> 
  </strong>&nbsp; 
</body>
</html></textarea>
    </font></strong></p>
</div>
</body>
</html>
__________________
--------------------------------------------------
[::Matthew Beyer::]
MaEsTrOsWeB
Chile
--------------------------------------------------
  #4 (permalink)  
Antiguo 14/12/2004, 12:49
 
Fecha de Ingreso: diciembre-2004
Ubicación: En mi ksa
Mensajes: 267
Antigüedad: 13 años
Puntos: 0
yapo una ayudita ..
__________________
--------------------------------------------------
[::Matthew Beyer::]
MaEsTrOsWeB
Chile
--------------------------------------------------
  #5 (permalink)  
Antiguo 14/12/2004, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes que darle permisos de escritura a tu directorio:

/home/webcindario/webexperto/

por lo demás .. NO uses/asumas variables de entorno y otras externas como "globales" .. me refiero a NO usar $REMOTE_ADDR; sino $_SERVER['REMOTE_ADDR']

Un saludo,
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:44.