IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] Envoi de fichier de serveur à serveur


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut [Upload] Envoi de fichier de serveur à serveur
    Bonjour,

    J'ai un script a.php qui me creer des .zip sur mon serveur A.

    A chaque fois qu'il me creer un zip, il doit l'envoyer sur le serveur B où un script b.php va faire ce qu'il doit faire avec^^

    Comment je peux faire pour envoyer .zip a partir de a.php à b.php sans interompre le traitement de a.php (et sans utiliser ftp)

    Avec un formulaire ca stop le traitement de a.php...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 36
    Points : 29
    Points
    29
    Par défaut
    et si tu envoyais une "requete" a b.php pour qu'il le download ?

  3. #3
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Ben en fait je sais pas faire ca

    Je pourrais l'envoyer par post mais je peux pas mettre le nom de fichier avec un type=file ...
    Si quelqu'un a une astuce ou une autre solution


    J'ai vu qu'il y avait la possiblité d'utiliser des flux xml ou des sockets mais je sais pas trop comment faire...

    Sinon je pourrais utiliser depuis mon script b.php fopen en mettant allow_url_fopen mais je ne sais pas si c'est trés bien de mettre ca... Ca ne pose pas des problemes de securité???

    Je pourra ienvoyer avec des sockets? mais b.php ne tourne pas en permanence et ne peut donc pas ecouter les connexions... y'a t il un autre moyen?

  4. #4
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    http://julp.developpez.com/php/curl/#L3.1.3

    pour envoyer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $post = array(
        'description'	=> "test d'envoi d'un rar.",
        'rar'	=> "@" . realpath('ftpS1.rar')
    );
    print_r($post);
    // On effectue la requête avec cURL
    $ch = curl_init('http://localhost/recup_data.php');
    curl_setopt($ch, CURLOPT_NOBODY, TRUE);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
    $ret = curl_exec($ch);
    if (!$ret) {
        echo curl_error();
    } else {
        echo 'Envoi OK !';
    }
    curl_close($ch);
    $post est correcte
    Array ( [description] => test d'envoi d'un rar. [rar] => @C:\wamp\www\ftpS1.rar )
    et la ca m'affiche
    Array ( [description] => test d''envoi d''un rar. ) Envoi OK !
    Comment je fais pour recuperer le fichier?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Comme tout fichier uploadé, vous êtes censé trouver les informations nécessaires dans $_FILES

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Oui s'est pas bete ca^^

    Donc du coup dans recup_data.php je fais un print_r($_FILES) et j'obtiens
    Array ( [rar] => Array ( [name] => ftpS1.rar [type] => application/octet-stream [tmp_name] => c:/wamp/tmp\php42.tmp [error] => 0 [size] => 20 ) )
    (je test en local parceque j'ai pas installé curl sur les serveurs)

    Le resultat est deja beaucoup mieux^^ mais je ne sais pas trop quoi faire maintenant c:/wamp/tmp\php42.tmp n'existe pas

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par xclam
    mais je ne sais pas trop quoi faire maintenant c:/wamp/tmp\php42.tmp n'existe pas
    Vous procédez comme tout upload (voir Upload de fichiers en PHP). Les fichiers temporaires correspondant aux fichiers uploadés sont, normalement, supprimés à la fin du script (d'où la fonction move_uploaded_file) à moins que cela vienne d'une configuration erronée de PHP (ce qui est peu probable vu le résultat obtenu).

  8. #8
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 151
    Points
    151
    Par défaut
    Bon ben ca marche (en local) c'est super merci julp

    Je met le code pour recuperer le fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $dossier = 'extractzip/';
    $fichier = basename($_FILES['rar']['name']);
     
    if(isset($_FILES['rar']))
    move_uploaded_file($_FILES['rar']['tmp_name'], $dossier . $fichier);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Copier un fichier d'un serveur à l'autre
    Par Akramweb dans le forum Langage
    Réponses: 6
    Dernier message: 23/10/2006, 16h51
  2. [Upload] Envoi de fichier sur un serveur
    Par SanTa62 dans le forum Langage
    Réponses: 4
    Dernier message: 10/01/2006, 21h51
  3. Envoi de fichier sur un serveur FTP
    Par pepe2006 dans le forum Access
    Réponses: 6
    Dernier message: 02/12/2005, 10h19
  4. Réponses: 4
    Dernier message: 10/07/2005, 20h53
  5. [Servlet][Tomcat] Upload d'un fichier sur le serveur
    Par gandalf_le_blanc dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 19/04/2004, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo