begin process at 2012 05 31 10:58:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Réseau & Internet

 > 

Transfert de fichier (fsockopen)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Transfert de fichier (fsockopen)

vendredi 3 juin 2005 à 19:02:00 | Transfert de fichier (fsockopen)

Rochon

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

samedi 4 juin 2005 à 16:20:05 | Re : Transfert de fichier (fsockopen)

Anthomicro

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 +


    lundi 6 juin 2005 à 09:21:17 | Re : Transfert de fichier (fsockopen)

    Rochon

    je veux copier un fichier depuis une url par ex [ Lien ] 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.



    Cette discussion est classée dans : fichier, buffer, pointeur, fp, endif


    Répondre à ce message

    Sujets en rapport avec ce message

    Lister un répertoire (de manière ordonnée) [ par faiseurdesonges ] Bonjour, voila j'aimerais lister un répertoire de manière ordonnée, à savoir tout les fichiers du dossier principale puis le premier sous dossier suiv fgets ou fichier trop gros ? [ par nicobou ] Bonjour,J'utilise la fonction fgets pour afficher le contenu d'un fichier dans un textArea. Ca fonctionne plutot pas mal sauf que par moment la page s ouvrir un fichier distant [ par GroSam ] Salut!J'aimerais savoir si il est possible d'ouvrir/ecrir dans un fichier texte placé dans un réseau interne. Je sais que ca marche en locale avec$fp Telechargement automatique [ par ASPerix ] Bonjour,Voila, je créé un fichier$fp=fopen("../$fich.doc","w");qui est enregistré sur le serveur, dans le répertoire vouluj'écrit dedans....je le ferm ecriture dans fichier [ par Malabarix ] Bonjour tout le monde!Voila, je fais un programme qui doit générer des pages html via une page type sauf qu'il doit changer certains titres et autres fonction : execution de fichier sql [ par flagada42 ] function execute_fichier_sql($chemin) { // Ouverture du fichier contenant les requètes SQL $file = fopen($chemin, "r"); //Tant que l'on est pa probleme de fichier [ par aquewel ] Pourquoi ma fonction ne marche pas ?????Le fichier 28.txt contient 2005-01-072005-01-082005-01-09$date = "2005-01-08";$file = fopen("dateid/28.txt", " Obtenir taille fichier distant sans télécharger le fichier [ par zzzzzz ] salut à tous :) En fait j'ai un code pour obtenir la taille d'un fichier distant. cad:$buffer = ''; if ($fd = fopen ($url, "r")) { while (!feof($fd)) Lecture Ecriture de fichiers texte [ par pascalstras ] Bonjour,Je me suit mis il y a quelques semaines à PHP et franchement le concept me plait.Je voudrai lire un fichier texte multilignes pour en extraire Lire un .txt mais gerer plusieur lignes [ par ooiimm ] Salut J'ai une gallerie dans laquelle j'ai fait un compteur de clic pour un genre de cote de popularité de chaque image. Je sais faire fonctionner l


    Nos sponsors


    Sondage...

    Comparez les prix

    CalendriCode

    Mai 2012
    LMMJVSD
     123456
    78910111213
    14151617181920
    21222324252627
    28293031   

    Consulter la suite du CalendriCode

    Photothèque

    A découvrir



     
    Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
    CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
    CodeS-SourceS.com© est une marque déposée tous droits réservés

    Google Coop CodeS-SourceS Google Coop CodeS-SourceS
    Temps d'éxécution de la page : 2,106 sec (3)

    Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales