Ciao, la mia situazione e` questa: ho due server, sul primo (PIPPO) hanno accesso gli utenti, sul secondo (PLUTO) ci sono dei file disponibili via http solo per PIPPO. Sto cercando di costruire con le funzioni socket php una specie di tunnel, in modo che un utente chiedendo un file su PIPPO ottenga un file di PLUTO.
Funziona bene, ma quando il file e` grande vado incontro a problemi di memoria di PHP. Secondo voi c'e` il modo di passare il file pezzo pezzo all'utente?
Codice PHP:
<?php
set_time_limit(0);
$fp = fsockopen('pluto',80,$errno, $errstr, 30);
if(!$fp){
print '**ERROR: '.$errstr.' ('.$errno.')'."\n";
exit;
}
$in = "GET /var/file.iso HTTP/1.1\r\n";
$in.= "Host: pluto\r\n";
$in.= "Content-Type: application/octet-stream\r\n";
$in.= "Connection: Close\r\n\r\n";
fputs($fp,$in);
while (!feof($fp)) {
$str[] = fread($fp, 4096);
}
fclose($fp);
$ISO = implode('',$str);
print $ISO;
?>