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] Upload sur FTP


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Par défaut [Upload] Upload sur FTP
    bonjour j'ai un souci je dois uploader un fichier excel(pour ensuite le renommer) mais mon souci arrive au moment ou je veux changer le chemin temporaire avec le chemin du dossier du ftp je n'y arrive pas.
    voici ce que cela donne:
    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
    18
    19
    20
    21
    22
    23
    24
    <form method="post" action='' enctype="multipart/form-data">
    <input type="file" name="excel" accept="*.csv"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     <input type="submit" value="upload"/>
     
    numéro de téléphone: <BR>
    <?php 
    echo $_FILES['parcours']['tmp_name'];
    echo $_FILES['parcours']['name'];
     
    if(isset($_FILES['excel']))
    {
    $dossier = 'www/email';
    $fichier = basename($_FILES['parcours']['name']);
    if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) 
    //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    {
    echo 'Upload effectué avec succès !';
    }
    else //Sinon (la fonction renvoie FALSE).
    {
    echo 'Echec de l\'upload !';
    }
    }

  2. #2
    Membre expérimenté

    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
    Par défaut
    Il n'y a pas de FTP là-dedans

    Le code est incomplet mais il est probable qu'il y ait une incohérence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" name="excel" accept="*.csv"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo $_FILES['parcours']['tmp_name'];
    echo $_FILES['parcours']['name'];
    $fichier = basename($_FILES['parcours']['name']);
    if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier))
    Tous les noms diffèrent

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Par défaut
    non j'ai modifier sa dès que je l'ai vu met j'arrive pas a transférer le fichier dans le répertoire du ftp que je désire

  4. #4
    Membre expérimenté

    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
    Par défaut
    • Mettez à jour votre code dans votre post qu'on y voit plus clair
    • Il ne s'agit pas d'un upload FTP mais HTTP
    • Quels sont les messages d'erreurs obtenus (en activant si nécessaire l'affichage des erreurs et en positionnant error_reporting à sa valeur maximale : E_ALL) ?
    • Quel est le comportement de votre script ? Quel cheminement suit-il ? Quelles parties du script ne sont pas exécutées ?
    • Avez-vous vérifié que vous aviez le droit d'écrire dans ce répertoire (test que l'on peut intégrer au script via la fonction is_writ(e)able) ?


    Il doit manquer un séparateur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dossier = 'www/email/';
    Ou ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(move_uploaded_file($_FILES['excel']['tmp_name'], $dossier . DIRECTORY_SEPARATOR . $fichier))

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Par défaut
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <form method="post" action='#' enctype="multipart/form-data">
    <input type="file" name="excel" accept="*.csv"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
     <input type="submit" value="upload"/>
     </form>
    numéro de téléphone: <BR>
    <?php 
     
    //phpinfo();
     
     
     
     
    /***********************************/
     
     
     
    $dossier = 'upload/';
    $fichier = basename($_FILES['excel']['name']);
    $taille_maxi = 1000000;
    $taille = filesize($_FILES['excel']['tmp_name']);
    $extensions = array('.xls', '.csv');
    $extension = strrchr($_FILES['excel']['name'], '.');
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
    $erreur = 'Vous devez uploader un fichier de type xls ou csv';
    }
    if($taille>$taille_maxi)
    {
    $erreur = 'Le fichier est trop important';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
    //On formate le nom du fichier ici...
    $fichier = strtr($fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    if(move_uploaded_file($_FILES['excel']['tmp_name'], $dossier . DIRECTORY_SEPARATOR . $fichier)) 
    //Si la fonctionrenvoie TRUE, c'est que ça a fonctionné...
    {
    echo 'Upload effectué avec succès !';
    }
    else //Sinon (la fonction renvoie FALSE).
    {
    echo 'Echec de l\'upload !';
    }
    }
    else
    {
    echo $erreur;
    }
     
    /**************************************/
    voici mon code refait au propre j'ai créer le dossier upload sur le ftp mais je n'y arrive pas voici le souci:

    Warning: move_uploaded_file(upload//sms-massif.csv) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/web/apreslaclasse.com/ftp/www/email/sms_massif_temporaire.php on line 83

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phptJbVOB' to 'upload//sms-massif.csv' in /home/web/apreslaclasse.com/ftp/www/email/sms_massif_temporaire.php on line 83

  6. #6
    Membre expérimenté

    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
    Par défaut
    PHP dit que le répertoire upload n'existe pas par rapport au répertoire courant (sans doute /home/web/apreslaclasse.com/ftp/www/email/). Est-ce bien le cas (son chemin complet est censé être : /home/web/apreslaclasse.com/ftp/www/email/upload/) ?

    (n'oubliez pas d'autoriser l'écriture également)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Par défaut
    merci le changement de fichier est bon le seul souci c'est que quand je veux charger mon fichier je n'y arrive pas voici l'erreur je crois que c'est a peu près la même erreur que la précédente j'ai essayer de changer les chemins.
    voici l'erreur:

    Warning: fopen(/home/web/apreslaclasse.com/ftp/www/email/upload/sms massif.csv) [function.fopen]: failed to open stream: No such file or directory in /home/web/apreslaclasse.com/ftp/www/email/sms_massif_temporaire.php on line 88

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 81
    Par défaut
    en faite j'ai réglé mon souci mais il me reste 2 soucis:
    -le premier est que il me met tout le temps le message :
    "Vous devez uploader un fichier de type xls ou csv"
    alors que ceci est un message d'erreur qui ne devrait apparaitre que lorsque e format du fichier uploader est erronée.
    -ensuite j'ai toujours une erreur au niveau du for each et je ne capte pas
    Warning: Invalid argument supplied for foreach() in /home/web/apreslaclasse.com/ftp/www/email/sms_massif_temporaire2.php on line 91
    P.S:j'ai effacé le contenu du $smshead volontairement.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?php
     
     
     //////////////////
      //     SMS      //
     //////////////////
     
    $SmsDest = "sms@leSMS.com"; //
    $SmsHead ="";
    $SmsMess = "Après la classe:Rendez vous à l'agence de Paris au 76 rue  SaintLazare 75009 pour obtenir votre job étudiant contacteznous au 0142330404 pour toute info";
    ?>
     
     
    <!-- formulaire pour récupérer le fichier excel ou csv -->
     
     
     <form method="post" action='' enctype="multipart/form-data">
    <input type="file" name="excel" accept="*.csv"/>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <input type="submit" value="upload"/>
    </form> 
     
    <!-- fin formulaire récup fichier -->
     
     
    <?php 
     
    /***********************************/
    /** UPLOAD d'un fichier sur le ftp **/
     
    $dossier ='upload/';
    $fichier = basename($_FILES['excel']['name']);
    $taille_maxi = 1000000;
    $taille = filesize($_FILES['excel']['tmp_name']);
    $extensions = array('.xls', '.csv');
    $extension = strrchr($_FILES['excel']['name'], '.');
    //Début des vérifications de sécurité...
     if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
    $erreur = 'Vous devez uploader un fichier de type xls ou csv';
    } 
    if($taille>$taille_maxi)
    {
    $erreur = 'Le fichier est trop important';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
     unset($erreur);
    //On formate le nom du fichier ici...
    $fichier = strtr($fichier,
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     
    if(move_uploaded_file($_FILES['excel']['tmp_name'], $dossier . DIRECTORY_SEPARATOR . $fichier)) 
    //Si la fonctionrenvoie TRUE, c'est que ça a fonctionné...
    {
    	echo 'Upload effectué avec succès !';
     
    	/**************************************/
     
    	$fic = fopen($dossier.$fichier, 'r+');
    	?>
     
    	<!-- formulaire pour affichier dans un select multiple -->
     
    	<form method="POST" action="">
    	<select name='telephone[]'  size='10' multiple>
    	<?php
    	for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024)) 
    	{
    	$j = sizeof($ligne);
     
    	//formatage des numéro de tel
    		for ($i = 0; $i < $j; $i++) 
    		{
    		$ligne= str_replace(' ','',$ligne);
    		$ligne= str_replace('\'','',$ligne);
    		echo '<option value="'.$ligne[$i].'">'.$ligne[$i].'</option>';
    		}
    	}
    ?>
     
     
    	<!-- fin du formlaire select multiple -->
    	<?php 
    	$a = 0; 
    	/* -----test pour voir si les numéros de tel sélectionnés sont bien pris en compte.------*/
    	foreach( $_POST['telephone'] as $value ) 
    	{
    	$SmsObjet = "V2RTER:".$value."";
        //envoie du sms
        echo "|".$SmsObjet."|<br>";		
    	//a desactiver pendant les tests
    	mail("$SmsDest","$SmsObjet","$SmsMess","$SmsHead");  
        usleep(50000);
    	$a++;
    	} 
     
    ?>
    <input type="submit" value="ok"/>	
    </select>
    </form>	
    <?php
    //message de confirmation
     echo "</br><b>".$a." SMS ont étés envoyé(s)</b>";
     
    }//fin si upload est un succès
    else //Sinon (la fonction renvoie FALSE).
    {
    echo 'Echec de l\'upload !';
    }
    }
    else
    {
    echo $erreur;
    } 
    ?>
    et une fois que je clique sur "ok" il me remet en haut le bouton parcourir et upload avec le message "veuillez choisir un fichier csv ou xls"alors qu'il faudrai que le message "1sms est envoyé"

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

Discussions similaires

  1. [PHP 5.3] upload fichier sur ftp via php
    Par victoires dans le forum Langage
    Réponses: 1
    Dernier message: 11/10/2011, 14h49
  2. [.NET2]Upload Fichier sur FTP (FtpWebRequest)
    Par nephhh dans le forum C#
    Réponses: 0
    Dernier message: 16/08/2007, 22h16
  3. [.NET 2.0] Probleme upload fichier sur ftp avec My
    Par Aspic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/03/2007, 09h10
  4. [Upload] Upload limité sur hebergeur
    Par djedie dans le forum Langage
    Réponses: 8
    Dernier message: 12/11/2006, 02h49
  5. [Upload] upload fichier sur ftp free
    Par Halukard dans le forum Langage
    Réponses: 61
    Dernier message: 12/02/2006, 20h50

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