[phpgt] Descargar de Internet

0 views
Skip to first unread message

Aníbal Sánchez Numa

unread,
May 10, 2010, 9:33:07 AM5/10/10
to PHPGT Grupo de PHPeros de Guatemala
Salu2:

Necesito algo que me permita hacer un gestor de descargas. Ya probé
hacer un fopen con un http pero me sigue dando error. Lo que creo es
que en algún lugar se debe especificar "por dónde" se saliendo a
Internet. Espero puedan ayudarme.

--
PHPGT :: Grupo de PHPeros de Guatemala
email: ph...@googlegroups.com
www: http://php.develsystems.com | http://groups.google.com/group/phpgt/

Mario Soto

unread,
May 10, 2010, 8:06:20 PM5/10/10
to ph...@googlegroups.com
Depende que es lo que querés hacer. Si querés hacer algo como rapidshare o algo parecido, esto es algo complicado. Si lo que querés que es que descarguen archivos pero que no sepan cual es el link porque lo cambiás a cada uno de los que descarga es mas sencillo. Si lo que querés es que descarguen archivos que estan en una carpeta o algo asi, es mas sencillo aún, solo es poner el link a donde esta el archivo. Contanos mas que es lo que querés hacer y "platicamos".
--
Mario Soto
mari...@cancuen.net
..._

Anibal Sánchez Numa

unread,
May 11, 2010, 8:25:49 AM5/11/10
to ph...@googlegroups.com
No he visto el tal rapidshare. La idea es que se empieze a descargar el fichero y tener control sobre la descarga. Pero no simplemente ponerlo a descargar por el navegador. Lo que se quiere es que aparezca una especie de barra de progreso con las descargas (podrá haber varias por usuario y para muchos usuarios), estas barras de progreso se podrán pausar, reanudar, etc... y cuando se termine de descargar se notificará para que se pueda copiar el desde el servidor hacia la máquina en que se esté utilizando el sitio. Explico un poco para que servirá esto: la cosa está en que donde estoy hay limitaciones con el ancho de banda y con el tamaño de las descargas de la manera tradicional. Además, se quiere que las descargas actuales de cada usuario estén visibles para todo el mundo, para saber que es lo que está descargando cada cual. Es un gestor/acelerador de descargas pero por Web. Lo de acelerar no es realmente tan importante.

Douglas Francisco Yau Quan

unread,
May 11, 2010, 9:14:18 AM5/11/10
to ph...@googlegroups.com
Se puede hacer de forma relativamente "sencilla" yo te recomendaria que vieras APC o Memcached para el uso de variables compartidas o cacheadas y wget con parseo del output de consola. Practicamente estaria funcionando bastante similar a poner barra de progreso de upload php/js

--
Enviado desde mi Gmail

Mario Soto

unread,
May 11, 2010, 9:44:45 AM5/11/10
to ph...@googlegroups.com


El 11 de mayo de 2010 06:25, Anibal Sánchez Numa <aniba...@gmail.com> escribió:
No he visto el tal rapidshare. La idea es que se empieze a descargar el fichero y tener control sobre la descarga. Pero no simplemente ponerlo a descargar por el navegador. Lo que se quiere es que aparezca una especie de barra de progreso con las descargas (podrá haber varias por usuario y para muchos usuarios), estas barras de progreso se podrán pausar, reanudar, etc... y cuando se termine de descargar se notificará para que se pueda copiar el desde el servidor hacia la máquina en que se esté utilizando el sitio. Explico un poco para que servirá esto: la cosa está en que donde estoy hay limitaciones con el ancho de banda y con el tamaño de las descargas de la manera tradicional. Además, se quiere que las descargas actuales de cada usuario estén visibles para todo el mundo, para saber que es lo que está descargando cada cual. Es un gestor/acelerador de descargas pero por Web. Lo de acelerar no es realmente tan importante.

Muchas personas creen que el descargar partes de un archivo hacen que sea mas rápido. Si tenés un límite de velocidad por cada conexión si acelera, pero si no, solo haces lo mismo pero de otra forma, porque no es un ancho de banda por conexión, sino un ancho de banda compartido en varias conexiones. Lo que te facilita estos programas es la reanudación de una descarga y esto si es importante. Lo que podés hacer es evaluar la opción de usar archivos torrent y limitar la velocidad de subida de cada archivo. Yo en windows uso uTorrent (no encontré la letra nano) y en Linux Ktorrent (aunque he leido que Transmission es muy bueno también. 

Si tus clientes son controlados (no cualquiera puede bajar archivos) podrías obligarlos al uso de un gestor de descargas con limite de ancho de banda. 

Si seguís con la idea de hacerlo usando php, puede que te funcione aunque no se me ocurre actualmente como hacerlo. Podés seguir las sugerencias de Douglas para el manejo de la información.

Un saludo.

Anibal Sánchez Numa

unread,
Jun 18, 2010, 10:01:05 AM6/18/10
to ph...@googlegroups.com
Así que no conocen ninguna función que permita descargar ficheros a
pedazos de Internet?? Necesito esta información lo antes posible por
favor.

Salu2,
Anibal

El 11/05/10, Mario Soto <can...@gmail.com> escribió:

elMaxx!

unread,
Jun 18, 2010, 10:21:48 AM6/18/10
to ph...@googlegroups.com
Se me ocurrió algo...

$fileHandle = fopen($file, 'r');
if(!$fileHandle) {
    die ('could not open input file');
} else {
    if ($fileHandle) {
        while (!feof($fileHandle)) {
            //MAGIA Y SCIENCIA!
           //te recomiendo leer el manual para la funcion fgets...
            $buffer = fgets($fileHandle, $bytes);
            ***ciclo de escribir a archivos de tamaño $buffer***
            if/while/whatever....
                $newFileHandle = ($newFileName , 'w');
                fwrite($newFileHandle, $buffer) || die ('FUCK');
                fclose($newFileHandle);
                //o sea, abra archivo nuevo, escriba el $buffer en un archivo, cierre archivo nuevo y pase al otro $newFileHandle
            endif/endwhile/endwhatever
            ***termina ciclo de escribir a archivos de tamaño $buffer
        }
    fclose($fileHandle);
   
}
--
[Citation Needed]


2010/6/18 Anibal Sánchez Numa <aniba...@gmail.com>

elMaxx!

unread,
Jun 18, 2010, 10:37:12 AM6/18/10
to ph...@googlegroups.com
la funcion fgets o fread te puede ayudar a partir un archivo en pedazos.

http://us2.php.net/fread
http://us2.php.net/fgets

y luego formar archivos "temporales"

a ver si te ayuda :P
--
[Citation Needed]


2010/6/18 Anibal Sánchez Numa <aniba...@gmail.com>
Así que no conocen ninguna función que permita descargar ficheros a

Anibal Sánchez Numa

unread,
Jun 22, 2010, 8:11:58 AM6/22/10
to ph...@googlegroups.com
Ya esas funciones las conocía, el problema es que no me funcionan con
archivos de Internet. Por eso fue que inicié este hilo preguntando si
hay que decir en algún lado por donde sale la conexión para que el
fopen pueda trabajar bien.

Salu2,
Anibal

El 18/06/10, elMaxx! <elm...@gmail.com> escribió:

Francisco Nieves

unread,
Jun 22, 2010, 9:58:18 AM6/22/10
to ph...@googlegroups.com

Ya viste si en el archivo de configuracion esta activo el allow_url_fopen ?

On Jun 22, 2010 6:12 AM, "Anibal Sánchez Numa" <aniba...@gmail.com> wrote:

Ya esas funciones las conocía, el problema es que no me funcionan con
archivos de Internet. Por eso fue que inicié este hilo preguntando si
hay que decir en algún lado por donde sale la conexión para que el
fopen pueda trabajar bien.

Salu2,
Anibal

El 18/06/10, elMaxx! <elm...@gmail.com> escribió:

> Se me ocurrió algo... > > $fileHandle = fopen($file, 'r'); > if(!$fileHandle) { > die ('could ...

--

PHPGT :: Grupo de PHPeros de Guatemala email: ph...@googlegroups.com www: http://php.develsystems....

Anibal Sánchez Numa

unread,
Jun 22, 2010, 10:14:02 AM6/22/10
to ph...@googlegroups.com
Sí está activo.

El 22/06/10, Francisco Nieves <fnie...@gmail.com> escribió:

> www: http://php.develsystems.com | http://groups.google.com/group/phpgt/

Stuardo -StR- Rodríguez

unread,
Jun 22, 2010, 10:54:29 AM6/22/10
to ph...@googlegroups.com
Ponete a ver el mundial vos!!  y dejá de estar interrumpiendo :P

LOL!.. JK

2010/6/22 Anibal Sánchez Numa <aniba...@gmail.com>
Sí está activo.

SiRGt

unread,
Jun 23, 2010, 9:10:00 PM6/23/10
to PHPGT Grupo de PHPeros de Guatemala
jajajajajajajaja

On 22 jun, 08:54, Stuardo -StR- Rodríguez <s...@maphpia.com> wrote:
> Ponete a ver el mundial vos!!  y dejá de estar interrumpiendo :P
>
> LOL!.. JK
>
> 2010/6/22 Anibal Sánchez Numa <anibaln...@gmail.com>
>
> > Sí está activo.
Reply all
Reply to author
Forward
0 new messages