Foros del Web » Programando para Internet » PHP »

funcion opendir() en un servidor externo

Estas en el tema de funcion opendir() en un servidor externo en el foro de PHP en Foros del Web. La funcion opendir() se puede ejecutar desde un servidor a otro??? es decir si quisiera usar la funcion para chequear un directorio que se encuentre ...
  #1 (permalink)  
Antiguo 11/09/2004, 18:04
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
funcion opendir() en un servidor externo

La funcion opendir() se puede ejecutar desde un servidor a otro???

es decir si quisiera usar la funcion para chequear un directorio que se encuentre en otro servidor... ¿o solo funciona dentro del mismo servidor donde se ejecuta el script????

por ejemplo si desde mi sitio ejecutara un opendir() para chequear las carpetas de www.forosdelweb.com

tengo lai mpreison que la respuesta es "no se puede" cierto??

__________________
El conocimiento es libre: Movimiento por la Devolución
  #2 (permalink)  
Antiguo 11/09/2004, 18:10
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Por seguridad no se puede :)

Que es lo que deseas implementar
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 11/09/2004, 19:01
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Lo que pasa es que estoy haciendo un buscador interno tipo "spider" que va recorriendo los directorios y archivos del sitio, lle el contenido del os archivos buscando la palabra solicitada. Para eso trabajo con opendir() y file()

Pero el problema es que tambien lee el codigo php de algunos archivos. Eso se solucionaria si pudiera hacer el opendir() a la url absoluta.. ejemplo opendir("http://www.misitioweb.com") ya que de esa forma la funcion file() solo tomaria encuenta la salida html final del archivo y no el codigo php.

Por eso preguntaba si era posible eso... la solucion que encontre hasta el momento es al momento de leer el contenido de los archivos detectar "<?" y "?>" y omitir todo lo que se encuentre entre ambos tags. (algo es algo no?) jajajaja.


Si sabes otra solucion bienvenida sea... :D
__________________
El conocimiento es libre: Movimiento por la Devolución
  #4 (permalink)  
Antiguo 11/09/2004, 19:42
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
no tampoco, la verdad eso no soluciona mucho lo que tu dices, pero creo que existe alguna alternativa, espero y alguien diga yo.
  #5 (permalink)  
Antiguo 12/09/2004, 10:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Un spider realmente funciona abriendo páginas y siguiendo los links de esta para ir recorriendo el sitio (así hace cualquier robot de un buscador). Pero no hace un "opendir" ...

Teniendo encuenta esto .. puedes usar file() .. o fopen() para abrir tus URL's de forma remota pero .. tendrás que aplicar expresiones regulares a lo que leas para ir buscando los "links" que apunten a otras páginas y así ir formando el "mapa" del sitio a base de esos links. Los archivos que no sean referenciados desde otras páginas no podrás accederlos (salvo que te sepas donde están y te montes un array para ir recorriendo las páginas que definas).

A todo esto te vendría bien "indexar" los resultados de las páginas que localices (al menos los links de los URL que encuentres) para acelerar las sub-siguientes busquedas.

Todo esto ya está "reinventado" .. visita sítios como www.hotscripts.com por qué por ahí tienes ejemplos.

Un saludo,
  #6 (permalink)  
Antiguo 13/09/2004, 09:57
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Ah bueno, entonces en mi caso el termino adecuado no seria "spider"

Bueno de partida, conozco varias de los buscadores que tienen en hotscripts, sourceforge y freashmeat. Pero el que estoy haciendo no e spara ningun cliente, sino que lo aprovecho para estudio y practica, y si al final resulta que quedo bueno, lo podria dejar para ofrecerlo :D

Entonces, no es "spider" jajaja... lo que hace este buscador es, cuando se solicita una busqueda, recorrer los directorios y subdirectorios de un sitio web (usando opendir,readdir,etc), y cuando encuentra un archivo permitido (filtro la busqueda a un determinado tipo de archivos, y bloqueo algun archivo en especifico si lo necesito) mediante un file() lee linea por linea su contenido y va buscando si en alguna hay coincidencia con la palabra o frase buscada, y voy imprimiendo el listado de archivos donde se encuentras los resultados.

El problema de esto es que en el caso de los archivos htm, php, asp, etc... lo que lee es el codigo fuente, y es por eso que tambien esta considerando el contenido que se encuentre entre <? y ?>

La primera "solucion" que me sugirieron fue que durante el file() detectara estos tags y omitira todo lo que se encuentra entre ellas.

Luego pense, lo que necesito para que no leyera el codigo php es poder hacer un file() con la url absoluta ej. file("http://www.sitio.com/archivo.htm"). Eso me funciono perfectamente. Entonces me puse a pensar, como realizar el opendir() a etas url absolutas, y ahora me vengo a dar cuenta mientras escribo este post, es que no necesito usar la url absoluta en el opendir(), sino que directamente en el file(), lo acabo de probar y me funciono correctamente jajajajjajaa (que cosas no?) :P

asi que ahora sigue esta logica:

<?php
blablabla
opendir(".");
etc etc etc
file("http://www.sitio.com/$filefound");
etc etc etc...
?>

de esta forma lo que lee es el codigo fuente tal como se veria en el "view source" de los navegadores y evito que lea los <? ?> del codigo fuente.


Como te decia, toi usando este buscador como "conejillo de indias" pa estudiar y practicar, he ido avanzando harto y espero con el transcurso de los dias poder implementarle mas funciones... paginacion de resultados, que pueda leer PDF, DOC, etc (pk ahora solo lee archivos de texto plano).
__________________
El conocimiento es libre: Movimiento por la Devolución
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 22:17.