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

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

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

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    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 éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

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

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    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
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    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 ?

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Pour mkdir https://www.php.net/manual/fr/function.mkdir.php

    Remplace donc ton passthru par la fonction mkdir telle que décrite ci-dessus
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut Merci.
    Merci, je vais essayé au plus tôt.

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

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 258
    Points : 151
    Points
    151
    Par défaut ca marche
    ça marche, d' ou la conclusion.

    L'UpLoad marche chez OVH.

    Il ne faut pas utlliser des instructions qui font des " forks ".

    Evidemment, si les services d'OVH étaient plus coopératifs, j'aurai perdu moins de temps.

    Merci à tous.


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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Salut

    La prochaine fois pense à activer le rapport d'erreur (lien ci-après). Au moins tu auras alors le texte de l'erreur fatale et une piste pour comprendre et résoudre.

    Bonne soirée

    https://www.php.net/manual/fr/functi...-reporting.php
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

+ 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