Bonjour à tous,
J'ai fait un code pour transferer un fichier depuis une url et le copie sur le compte où se trouve le php. Il y a une option lorsque le transfert est trop long et que le serveur coupe la connection, pour reprendre le transfert la où il s'est arreté, mais le probleme c'est que les fichiers copiés sont erronés voici mon code:
$addr = fsockopen($ur["host"], 80, $errno, $errstr, 30);
// La connection tous va bien
$request .= 'GET '.$ur['path']." HTTP/1.0\r\n";
$request .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;)\r\n";
// Pointeur si il y reprise du transfert
if(isset($pointeur)):
$request .= "Range: bytes=".($pointeur-1)." - \r\n";
endif;
$request .= "Host: ".$ur['host']."\r\n\r\n";
if(isset($pointeur)):
if($fp=fopen($filename, 'a')):
ftruncate($fp,($pointeur-1));
endif;
endif;
//i: Nombre de boucle lors de la lecture
$i=($pointeur/512);
$buffer='';
//Envoie la requete HTTP
fwrite($addr, $request);
$hea=0;
$buffer = '';
while (!feof($addr)) {
$buffer = fread($addr, 512);
// Verifie si le serveur envoye le header
if((ereg("\r\n\r\n",$buffer)) && ($hea==0)):
$buffer=explode("\r\n\r\n",$buffer);
$buffer=$buffer[1];
/* ------------------- */
//Ecriture
if($fp=fopen($filename, 'a')):
fwrite($fp, $buffer);
fclose($fp);
else:
exit;
endif;
$i++;
else:
$pas--;
endif;
//Indique que le header a déjà été lu
$hea=1;
else:
//Ecriture
if($fp=fopen($filename, 'a')):
fwrite($fp, $buffer);
fclose($fp);
else:
exit;
endif;
//Envoi des infos au navigateur
$i++;
if ($pas==0):
$pas=200;
else:
$pas--;
endif;
endif;
}
fclose($addr);
Voila , si vous arrivez a comprendre 
comment faire pour que la suite du fichier correspondent à la suite du fichier en local 