Enregistrement de fichiers à partir d'url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Enregistrement de fichiers à partir d'url

Re: Enregistrement de fichiers à partir d'url

par stealth35 » 03 mars 2011, 14:33

Mais cette fonction n'accepte pas des urls, elle prend un chemin en rapport avec la racine du script.
si si elle prend les URL, tu peux même faire du FTP avec

Re: Enregistrement de fichiers à partir d'url

par xTG » 03 mars 2011, 13:55

C'est son http qui m'a envoyé sur la mauvaise direction.
Si c'est un fichier de TON serveur en effet la fonction copy() suffit amplement ! Mais cette fonction n'accepte pas des urls, elle prend un chemin en rapport avec la racine du script.

Edit: au temps pour moi, c'est bon à savoir. :D

Re: Enregistrement de fichiers à partir d'url

par stealth35 » 03 mars 2011, 11:16

Il faut que tu récupères le contenu du fichier (file_get_contents() par exemple) et que tu copies son contenu dans un nouveau fichier sur ton serveur (file_put_contents() ;) ).
un copy suffis

Re: Enregistrement de fichiers à partir d'url

par demiliche » 03 mars 2011, 10:35

Merci je test çà de suite.

Edit: après quelques tests et embrouilles voilà le résultat :
$compteurtest = 0;
//$valeur reçoit une url qui est liée à un pdf
foreach($_POST["selected"] as $clef => $valeur)
{
    $compteurtest++;
    //echo "<br> $valeur <br>";
    $valeur2 = file_get_contents("$valeur");
    file_put_contents("C:\************************\\tempforzip$compteurtest.pdf","$valeur2");
}
l'erreur se trouvait sur la ligne du file_put_contents au lieu de mettre c:\....... j'avais mis http://........ qui ne supporte pas l'écriture ... j'aurais pu chercher des heures.

Quoi qu'il en soit merci pour cette aide précieuse.

Re: Enregistrement de fichiers à partir d'url

par xTG » 02 mars 2011, 20:43

Il faut que tu récupères le contenu du fichier (file_get_contents() par exemple) et que tu copies son contenu dans un nouveau fichier sur ton serveur (file_put_contents() ;) ).

Enregistrement de fichiers à partir d'url

par demiliche » 02 mars 2011, 19:20

Bonjour à tous,

comme vous pouvez le deviner j'ai un problème ... :roll:

Pour l'ensemble du problème :
- je dois récupérer une liste de fichier préalablement sélectionnés dans un formulaire avec cases à cocher. (Cette partie là est faite et me renvoie une url en fonction de la sélection.)

- à partir de la liste sélectionnée je dois ensuite télécharger chaque fichier pointés par les url et les mettre dans un dossier sur un serveur.

(c'est ici que çà commence à coincer j'ai tenter les fonctions file(), copy() et fopen() mais j'ai eu plusieurs fois ce message : "failed to open stream: HTTP wrapper does not support writeable connections" après quelques recherches j'ai appris que l'on ne pouvait pas écrire par http et c'est là que je demande humblement votre aide.)

voici le code qui reçoit les url :
$compteurtest = 0;
//$valeur reçoit une url qui est liée à un pdf
foreach($_POST["selected"] as $clef => $valeur)
{
    $compteurtest++;
    //$tempForZip = fopen("$valeur","w");
    echo "<br> $valeur <br>";
    //copy("$valeur","http://xxxxxxxxxxx/tempforzip$compteurtest.pdf");
}
//fputs($tempForZip,$_SERVER['HTTP_USER_AGENT']."\n");
//fflush($tempForZip);
//fclose($tempForZip);