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 d'une page en PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Par défaut Upload d'une page en PHP
    Bonjour ,
    J'assaye de faire fonctionner un upload de ma page HTML hébergée par OVH en PHP.

    Cependant, rien ne fonctionne.

    J'ai un hébergement PRO 2014.

    Que faire ?

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    montrez nous le code html du formulaire et le code php.

  3. #3
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Par défaut Voici le code PHP
    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
    <?php 
     
        function upLoad ($informations)
        {
     
                $nom       = $informations["name"];
                $type_mime = $informations["type"];
                $taille    = $informations["size"];
                $fichier_temporaire = $informations["tmp_name"];
                $code_erreur        = $informations["error"];
     
                switch ($code_erreur) {
                                        case UPLOAD_ERR_OK :
                                        $command = "mkdir -m 0777"." ".NOM_REPERTOIRE_IMAGE;
                                        passthru($command);
                                        $destination = NOM_REPERTOIRE_IMAGE.$nom;
                                        //echo ($destination);exit(0);
                                        if (copy($fichier_temporaire,$destination))     {
                                                                                        chmod (NOM_REPERTOIRE_IMAGE.$nom,0777);
                                                                                        $message  = "Transfert terminé - Fichier = $nom - ";
                                                                                        $message .= "Taille = $taille - ";
                                                                                        $message .= "Type MIME = $type_mime.";
                                                                                        $report = array($message,TRUE);
                                                                                        } 
                                        else 
                                                                                        {
     
                                                                                        $message = "Problème de copie sur le serveur.";
                                                                                        $report = array($message,FALSE);
                                                                                        }
                                        break;
     
                                        case UPLOAD_ERR_NO_FILE :
                                        $message = "Pas de fichier saisi.";
                                        $report = array($message,FALSE);
                                        break; 
     
                                          case UPLOAD_ERR_INI_SIZE :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (taille > upload_max_filesize)."; 
                                        $report = array($message,FALSE);
                                        break;
     
                                        case UPLOAD_ERR_FORM_SIZE :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (taille > MAX_FILE_SIZE).";
                                        $report = array($message,FALSE);
                                        break; 
     
        				 case UPLOAD_ERR_PARTIAL :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (problème lors du tranfert).";
                                        $report = array($message,FALSE);
                                        break;
     
                                         case UPLOAD_ERR_NO_TMP_DIR :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (pas de répertoire temporaire).";
                                        $report = array($message,FALSE);
                                        break;
     
                                        case UPLOAD_ERR_CANT_WRITE :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (erreur lors de l\'écriture du fichier sur disque).";
                                        $report = array($message,FALSE);
                                        break;
     
        				case UPLOAD_ERR_EXTENSION :
                                        $message  = "Fichier '$nom' non transféré ";
                                        $message .= " (transfert stoppé par l\'extension).";
                                        $report = array($message,FALSE);
                                        break;
     
                                         default :
                                        $message  = "Fichier non transféré ";
                                        $message .= " (erreur inconnue : $code_erreur ).";
                                        $report = array($message,FALSE);
     
                                        }
                return $report;
     
                }
     
     
        ?>
    Le code html n'est qu'un simple formulaire.

    Ce code fonctionne parfaitement sous un serveur Apache avec la distribution Debian.

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    à quelle ligne du code avez-vous un souci ?

  5. #5
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Bonsoir

    Tu ne fournis que la seule fonction d'upload aussi difficile de savoir alors même que tu ne précises rien sur l'erreur. Faut qu'on sorte la boule de cristal...

    Au survol de ton code je vois une instruction interdite : passthru. Il est très probable que ton hébergeur interdit cette fonction. Pourquoi ne pas juste utiliser la fonction native mkdir() ?

    Bonne soirée

  6. #6
    Membre éclairé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2011
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Par défaut Oui mais ...
    Bonsoir,

    Je ne suis pas sûr que les fonction " systèmes " soient autorisées sur le serveur.

    Voilà ma turpitude.

    Quelqu'un pourrait-il écrire un bout de code avec upload, sans gestion des erreurs ?

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

Discussions similaires

  1. Problème upload php
    Par ptit_fumiste dans le forum Langage
    Réponses: 0
    Dernier message: 15/03/2011, 23h50
  2. [MySQL] Problème d'upload SQL PHP
    Par max1395 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/03/2011, 15h17
  3. Problème upload fichier php
    Par mbsss dans le forum Langage
    Réponses: 1
    Dernier message: 30/04/2009, 13h47
  4. [COM] Problème COM et PHP
    Par goldeneagle dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/09/2005, 22h41
  5. [PHP-JS] Problème de variable PHP dans un script JS
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 22h17

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