Foros del Web » Programando para Internet » PHP »

fopen de un PhP

Estas en el tema de fopen de un PhP en el foro de PHP en Foros del Web. Hola amigos, lamento molestarlos pero necesito que me ayuden con esto: Resulta que quiero extraer datos de una pagina, para ello me bajé una copia ...
  #1 (permalink)  
Antiguo 21/05/2004, 03:51
Avatar de sketch  
Fecha de Ingreso: febrero-2002
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa fopen de un PhP

Hola amigos, lamento molestarlos pero necesito que me ayuden con esto:
Resulta que quiero extraer datos de una pagina, para ello me bajé una copia (un.htm), me rompi la cabeza para entender como usar el Fopen() y las ereg hasta que finalmente consegui lo que queria. Todo esto en localhost. Bien!!

El problema es:
que en realidad la pagina en web es "un.php" NO "un.htm"

El error que me tira es este

Warning: filesize(): Stat failed for http://www.remoto.com/un.php (errno=2 - No such file or directory) in myserver/pron3.php on line 8

y el codigo que abre el file es:

Código PHP:
$file1="http://www.remoto.com/un.htm"//(ahora: un.php)
$fd=fopen($file1,"r");
if (!
$file1) {
echo 
"<p>No se pudo abrir el archivo remoto.\n";
exit;
}

$contenido fread($fdfilesize($file1));
fclose ($fd);
$dato explode(":",$contenido);
.... 
pregunta??: Que hago?, hacia donde corro?.
Imagino que es porque es un php, pero no se porque me dice que no esta, si el mensaje "No se pudo abrir... " no aparece

desde ya, muchisimas gracias
sketch
  #2 (permalink)  
Antiguo 21/05/2004, 03:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Lee en el manual de filesize() (www.php.net/filesize) lo que dice de los ficheros remotos. Resumiendolo es que no se puede hacer un filesize() de ningun fichero remoto.

Te toca leer el fichero con un bucle.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 22/05/2004, 02:25
Avatar de sketch  
Fecha de Ingreso: febrero-2002
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
Gracias por tu respuesta rapida Josemi.
Pero te cuento que use ese filesize() simplemente porque el manual asi lo exigia y porque sino el fread() no anda. No me queda muy en claro su uso en lo que yo quiero hacer. Lo que quiero hacer es simple, pero estoy muy perdido: La idea es leer la pagina remota e individualizar los datos limpiando el resto del codigo.
Una vez que tengo la pagina en una variable esta todo bien pero el problema es que no termino de entender como hacerlo. Aparentemente el Fopen() funciona y el fread() fue lo mejor que encontre entre las respuestas del foro y lo que funciono en mi servidor de pruebas. En cuanto a lo del loop no entiendo para que sería, por lo tanto no se me ocurre "que" ni como hacerlo y los manuales no muestran nigun ejemplo claro de como abrir y "mostrar" un archRemoto. Por eso la pregunta mas explicita es:
Como puedo hacer un "echo $pagina" de una pagina.php "remota" para poder limpiarla?
por favor disculpen las molestias y muchas gracias por la ayuda

sketch
  #4 (permalink)  
Antiguo 22/05/2004, 08:16
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pues en el manual de fread() (www.php.net/fread) viene el ejemplo de leer un fichero remoto.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 23/05/2004, 02:18
Avatar de sketch  
Fecha de Ingreso: febrero-2002
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
hola Josemi. Si es cierto, pero fijate que este incluye el filesize() que me trae problemas

Código PHP:
// get contents of a file into a string
$filename "/usr/local/something.txt";
$handle fopen($filename"r");
$contents fread($handlefilesize($filename));
fclose($handle); 
que comparado con el codigo que usé es el mismo

Código PHP:
$file1="http://www.remoto.com/un.php";
$fd=fopen($file1,"r");
if (!
$file1) {
echo 
"<p>No se pudo abrir el archivo remoto.\n";
exit;
}
$contenido fread($fdfilesize($file1));
fclose ($fd); 
Que crees que podria ser el error o problema?? Porque hay algo mal y yo no lo veo
muchas gracias
saludos
  #6 (permalink)  
Antiguo 23/05/2004, 08:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿Sabes por que siempre recomiendo mirar el manual en ingles? Por esto: http://www.php.net/manual/en/function.fread.php . Mira el ultimo ejemplo.

El manual en castellano es mas incompleto que el de ingles.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 25/05/2004, 00:40
Avatar de sketch  
Fecha de Ingreso: febrero-2002
Mensajes: 19
Antigüedad: 15 años, 10 meses
Puntos: 0
AHHHHHHHH, mirá vos cual era la vaca!!, con razón me costaba ordeñarla
Ahora sí funciona!! ...igual mis expresiones regulares dejaron de ser regulares y mucho menos "expresiones" pero eso es otro tema!!!
Un millon de Gracias Josemi hubiera tardado mucho en darme cuenta de ello

Muchos saludos
sketch
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 02:41.