Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: JAJAcker en 10 Mayo 2011, 00:59 am



Título: duda sobre transferencia de datos
Publicado por: JAJAcker en 10 Mayo 2011, 00:59 am
tengo el archivo
baja1.php

<?php
  header("Content-disposition: attachment; filename=mivideo1.flv");
  echo file_get_contents("http://webexterna.com/video.flv");
?>

al entrar a http://miweb.com/baja1.php
me tarda demasiado en crear el dialogo de guardar como ... pero lo crea.. pero porque tarda demasiado?????????????????


tuve que modificar el archivo php.in la parte de tamaño de fichero descargado para aumentar porque me daba el error del tamaño
eso me trajo esta pregunta
mi pregunta es cuando bajan el archivo se gasta mi tranferencia mensual de mi servidor ????????????  

en el explorador en copiar direccion de descarga me da http://misitio.com/baja1.php y no da ni el nombre ni la direccion de la fuente real del video .. eso lo que queria lograr


Algunos sitios tengo que acortar la url usando goo.gl supongo q tienen algo de proteccion

<?php
  header("Content-disposition: attachment; filename=mivideo1.flv");
  echo file_get_contents("http://goo.gl/etccc");
?>


agradezco que me saquen de mis dudas ..


Título: Re: duda sobre transferencia de datos
Publicado por: WHK en 10 Mayo 2011, 22:20 pm
el problema es que file_get_contents() obtiene toooooodo el archivo y luego te lo muestra con tu echo.

Para ir mostrando inmediatamente mientras se va cargando puedes utilizar sockets y ob_flush()

Código
  1. <?php
  2. if(!$fp = fsockopen("www.example.com", 80))
  3.    die("ERROR");
  4. fwrite($fp,
  5. "GET / HTTP/1.1\n".
  6. "Host: www.example.com\n".
  7. "Connection: Close\n\n"
  8. );
  9. while(!feof($fp)){
  10.    echo fgets($fp, 1024);
  11. }
  12. fclose($fp);
  13. ?>

Mas ejemplos:
http://cl.php.net/manual/en/function.fsockopen.php