Foros del Web » Programando para Internet » PHP »

Remote file info sin descargar el archivo

Estas en el tema de Remote file info sin descargar el archivo en el foro de PHP en Foros del Web. loading................. Buenas compañeros, alguno sabe como sacar info de un archivo remoto? http://remto.com/file_download?bla=asas quisiera obtener el resultado de esa url, puede que suelte un archivo ...
  #1 (permalink)  
Antiguo 22/09/2009, 11:12
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Remote file info sin descargar el archivo

loading.................


Buenas compañeros, alguno sabe como sacar info de un archivo remoto?

http://remto.com/file_download?bla=asas

quisiera obtener el resultado de esa url, puede que suelte un archivo txt o un exe u otro formato, pero el problema es que... en casos de que el archivo sea de 5GB.. no puedo bajar los 5GB para analizarlo y luego ver si lo acepto o no en el sistema.

GRacias!!


connection closed.
__________________

Maborak Technologies
  #2 (permalink)  
Antiguo 22/09/2009, 11:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Remote file info sin descargar el archivo

Puedes usar sockets (fsockopen) y ver que información te da el servidor al hacer un request HTTP. Con eso puedes analizar el tipo de archivo y decidir si lo procesas o no.

Revisa en los Aportes del Foro, hay un aporte para descargar archivos y puedes mirar las cabeceras que en este caso sería lo importante.

Saludos.
  #3 (permalink)  
Antiguo 22/09/2009, 12:54
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Respuesta: Remote file info sin descargar el archivo

loading.......

Bueno esto me ayuda por si alguien lo quiere:

Código PHP:
function ffi($url) {
            if (! 
$url_info parse_url $url )) {
                return 
false;
            }
            switch (
$url_info ['scheme']) {
                case 
'https' :
                    
$scheme 'ssl://';
                    
$port 443;
                    break;
                case 
'http' :
                default :
                    
$scheme '';
                    
$port 80;
            }            
            
$data "";
            
$fid = @fsockopen $scheme $url_info ['host'], $port$errno$errstr30 );
            if (
$fid) {
                
fputs $fid'HEAD ' . (isset ( $url_info ['path'] ) ? $url_info ['path'] : '/') . (isset ( $url_info ['query'] ) ? '?' $url_info ['query'] : '') . " HTTP/1.0\r\n" "Connection: close\r\n" 'Host: ' $url_info ['host'] . "\r\n\r\n" );
                while ( ! 
feof $fid ) ) {
                    
$data .= @fgets $fid128 );
                }
                
fclose $fid );
                return 
$data;
            } else {
                return 
false;
            }
        }
        
var_dump ffi "hhttp://exclusive-comps.com/d/ericson_sdk.zip" ) ); 
devuelve

Cita:
string(380) "HTTP/1.1 200 OK
Date: Tue, 22 Sep 2009 18:51:21 GMT
Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.8
Last-Modified: Tue, 08 Sep 2009 22:15:43 GMT
ETag: "51b8048-6f37cfe-4ea9c1c0"
Accept-Ranges: bytes
Content-Length: 116620542
Connection: close
Content-Type: application/zip

"
connection closed.
__________________

Maborak Technologies
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 19:58.