Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2348 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] fonction FTP_ et upload à partir d'un disque local

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] fonction FTP_ et upload à partir d'un disque local

n°79704
flyjodel
Posté le 09-12-2001 à 02:12:06  profilanswer
 

Salut,
 
je sais un peu utiliser les fonctions FTP genre ftp_connect(...) etc, et je sais télécharger un fichier d'un site (où se trouve la page PHP) vers un autre site.
 
Maintenant, je voudrais créer une page PHP qui permette d'uploader un fichier sur un serveur, la source se trouvant sur le disque dur de l'internaute. (sans utiliser CuteFTP, juste à partir d'une page PHP).
 
Comment fait-on pour accéder au disque dur de l'utilisateur?
 
j'ai essayé :  
 
$source_file = "file:///c: /0/source.txt";
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
 
mais cela ne fonctionne pas, évidemment...
any help for me?
 
thanks :-)
 
ps : la réponse trouvée en recherchant à http://forum.hardware.fr/forum2.php3?post=7845&cat=10 ne m'a pas vraiment aidée
 
___________________
le code complet de mon fichier :
<html><body>
<?php
$ftp_server = "ftp.multimania.com" ;
$ftp_user_name = "xxxxxxxxx" ;
$ftp_user_pass = "zzzz123" ;
$destination_file = "destination.txt" ;
$source_file = "file:///c: /0/source.txt" ;
 
// création de la connexion
$conn_id = ftp_connect("$ftp_server" );
// authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
        echo "La connexion FTP a échoué!";
        echo "Tentative de connexion à $ftp_server avec $user";
        die;
    } else {
        echo "Connecté à $ftp_server, avec $user";
    }
// téléchargement d'un fichier
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
// Vérification de téléchargement
if (!$upload) {
        echo "Le téléchargement Ftp a échoué!";
    } else {
        echo "Téléchargement de $source_file sur $ftp_server en $destination_file";
    }
// fermeture de la connexion FTP.
ftp_quit($conn_id);
?>
</body></html>

 

[edtdd]--Message édité par flyjodel--[/edtdd]

mood
Publicité
Posté le 09-12-2001 à 02:12:06  profilanswer
 

n°79705
flyjodel
Posté le 09-12-2001 à 02:15:09  profilanswer
 

question subsidiaire :
______________________
 
est-ce que les fonctions FTP_xxx marchent chez multimania?
 
Parceque moi, je n'arrive pas à les utiliser de chez eux. Le message :
Fatal error: Call to undefined function: ftp_connect() in /ftp_test.php on line 15
 
et pourtant j'ai activé le mode PHP

 

[edtdd]--Message édité par flyjodel--[/edtdd]

n°79956
bjbebert
Posté le 10-12-2001 à 02:29:40  profilanswer
 

flyjodel a écrit a écrit :

 
Comment fait-on pour accéder au disque dur de l'utilisateur?




Normalement on peut pas. Enfin j'espere.
Mais tu peux faire de l'upload avec un formulaire.
Je te post un exemple de code demain. Tout a l'heure quoi.

n°79960
potiron
...
Posté le 10-12-2001 à 03:42:52  profilanswer
 

hola ........
 
1-comment veux tu faire un U/L en passant par FTP si l'utilisateur n'a pas de client FTP sur son PC  :??:  :lol:  
 
2-pour ton message d'erreur : les fonctions FTP sont directement intégrés dans le PHP depuis le 3.x (je crois), donc si tu as cette erreur c'est que ton hebergeur (gratuit evidemment :sarcastic: ) les a coupé .
 
3-tu as plein de soluces pour acceder du DD du visiteur, mais la plus simple pour toi sera de faire passer les fichiers par les headers HTTP ce qui te permettra de contourner 95% des protections anti-U/L
 
4-quand tu connais pas la config d'un serveur il faut prendre le bon reflexe : phpinfo();

 

[edtdd]--Message édité par potiron--[/edtdd]

n°79999
Oreste
Posté le 10-12-2001 à 10:45:49  profilanswer
 

Voila 1 petit truc simple te permettant d uploader un fichier via un formulaire
 
Deja ta balise form doit etre de ce type
 
<form enctype="multipart/form-data" method="post" action="upload.php">
 
Tu y met un champs file bien sur avec comme nom "fichier" par exemple
 
Ensuite dans ton script upload.php
 
<?
$data = fread(fopen($fichier, "r" ), filesize($fichier));  
fwrite(fopen("repertoire_destination/fichier.xxx", "w" ), $data);
?>
 
En fait ce script ouvre le fichier temporaire que tu upload il lit le contenu, creer un nouveau fichier dans le repertoire de destination et copie le contenu du fichier temp dedans.
 
tu doit egalement faire gaffe a certains parametre dans ton php.ini car la limite d upload par ce moyen est de 2 mo par defaut (multimania peut avoit avoir brider cette fonction a 10 ko :D )

n°80087
flyjodel
Posté le 10-12-2001 à 13:53:11  profilanswer
 

super ces réponses... j'ai trouvé sur www.phpdebutant.com un code source aui fonctionne bien aussi, cool !
 
bon je continue à explorer toutes ces possibilités...
 
potiron : tu peux m'en dire plus sur les fonctions placées dans les HEADER pour contourner les port U/L ? (notamment avec multimania)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] fonction FTP_ et upload à partir d'un disque local

 

Sujets relatifs
Fonction "random" ou "shuffle" en C++ : ça existe ?[PHP] Upload de plusieurs images à la fois
[PHP] Est ce qu'on peut tester la non présence d'une variable ?[PHP] Dalai Forum
[PHP] Petite question : ORDER BY 2 trucs ??? C'est possible ?[PHP] Débutant
PHP -->> applet !![PHP]le meilleur moyen de faire une redirection vers une page WEB????
[PHP] trim() n'enlève pas le blanc inséccable? 
Plus de sujets relatifs à : [PHP] fonction FTP_ et upload à partir d'un disque local


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR