Transfert de fichier (fsockopen)

cs_Rochon Messages postés 13 Date d'inscription samedi 1 septembre 2001 Statut Membre Dernière intervention 6 juin 2005 - 3 juin 2005 à 19:02
cs_Rochon Messages postés 13 Date d'inscription samedi 1 septembre 2001 Statut Membre Dernière intervention 6 juin 2005 - 6 juin 2005 à 09:21
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

2 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 juin 2005 à 16:20
Salut,



perso je n'ai pas compris ta question. Tu as deux PC distants et tu
souhaites copier un fichier qui provient d'où vers ou ? si c'est pas ça
merci de m'expliquer.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Rochon Messages postés 13 Date d'inscription samedi 1 septembre 2001 Statut Membre Dernière intervention 6 juin 2005
6 juin 2005 à 09:21
je veux copier un fichier depuis une url par ex http://site.com/fichier.rar sur le serveur ou tourne mon code php. mais ça sa marche, ce qui marche pas c'est quand je fait une reprise du transfert.
0
Rejoignez-nous