Copier un fichier du serveur distant sur le local

Signaler
Messages postés
12
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2005
-
Messages postés
16
Date d'inscription
jeudi 17 juillet 2003
Statut
Membre
Dernière intervention
7 octobre 2008
-
bonjour a tous !!

j'aimerais bien savoir s'il y a moyen de copier les fichiers d'un repertoire sur le serveur distant vers le repertoire local de mon site ... j'ai fait un upload qui permet aux utilisateurs d'envoyer des images sur le serveurs distant mais pour l'affichage j'aimerais bien que ces images la se trouvent sur mon local pour pouvoir les recuperer par la base de données... quelqu'un a une solution pour ca ou une autre solution que j'ai pas su penser??? merci d'avance

4 réponses

Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Salut,



Il y'a quelques solutions possibles... Mais toutes sont limitées par
les droits d'accés que tu aura sur le serveur distant (Pas le droit de
lire un fichier depuis un IP inconnu => couic ! )



Mais bon généralement on à toujours acces en lecture aux fichiers images, même en log anonyme.



Bref, les possibilités (liste non-exhaustive) :

* copy() : et poui c'est tout bête !!!

* Move_uploaded_file()
: Si tu as déjà téléchargé le fichier à l'aide d'un formulaire HTML, ce
fichier se trouvera dans le répretoire temporaire d'upload de PHP. Il
faudra alors le rapatrier vers une destination "maitrisée". Pour ce
genre de situation, va voir ce petit condensé sur les téléchargements de fichier.

* Tu peux aussi lire le fichier et le coller directement dans ta base de données, au format binaire.

$fp = fopen($file,'rb');

$query = "Insert Into tableImage (champBinaire) Values ('".base64_encode(fread($fp,MAXLENGTH))."');"

fclose($fp);



A+
Messages postés
12
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2005

merci pour la reponse c'etait un cas desesperé je vais essayer de m'en sortir
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
28 août 2007
9
Précisions :

$fileExp = "http://un.site.web/le_rep/le_fichier.gif";

$fileDest = "localhost//mon_rep_upload/";

copy($fileExp, $fileDest); // <= c'est OK !!!

fopen($fileExp,'rb'); <= c'est OK !!!



Fait très attention à l'upload "agressive" :

Si dans ton formulaire d'upload, je choisi d'envoyer un script PHP (hehehe.php),

et que tu ne modifies pas le nom de ce fichier une fois uploadé...

Alors je vais te pourrir le serveur en lançant mon script tno simplement :

http://ton.site.web/ton_rep_upload/hehehe.php

(Une des attaques les plus facile à mettre en oeuvre, et aussi une des plus destructrice !)
Messages postés
16
Date d'inscription
jeudi 17 juillet 2003
Statut
Membre
Dernière intervention
7 octobre 2008

salut ma base de données est postgres je veux faire l'export des images TIFF sur mon local.alors que j'ai toujours un problème.donc j'ai pensé de faire le chargement sur le serveur puisque c'est faisable puis faire un accés a ce dossier et recuperer les données sur mon disque dure local.
pour faire j'utilise lo_export() en local puis move_uploaded_file().
merci de me donner une reponse si puissante parceque sa me pose un problème depuis un bon temps.