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] PHP 4 sous Windows => Upload


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Points : 45
    Points
    45
    Par défaut [Upload] PHP 4 sous Windows => Upload
    bonjour a vous,
    je suis assez nouveau dans le domaine de la programmation web et plus particulierement en PHP.

    mon probleme est le suivant :
    j'ai un script d'upload qui est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo '<form enctype="multipart/form-data" action="upload.php" method="post">';
    echo '<br>Fichier :<br><br><input name="fichier" type="file"><br><br>';
    echo '<input type="submit" value="    Envoyer    "><form><input type="submit" value="    Annuler    " onclick="javascript:window.close()"></form>';
    echo '</b></center>';
    echo '</form>';
    et mon fichier qui traite les informations est le suivant :

    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
     
    // Taille maximum
    $MAX_FILE_SIZE = 150000;
     
    // Dossier de destination du fichier
    $folder = "./norm/";
     
    // Tableau array des différents types
    $allowed_types = array("image/bmp", "image/jpg", "image/pjpeg", "image/jpeg", "image/jpg", "multipart/x-zip", "video/msvideo");
     
    // Variables récupérée par methode POST du formulaires
    $fname = $HTTP_POST_FILES['fichier']['name'];
    $ftype = $HTTP_POST_FILES['fichier']['type'];
    $fsize = $HTTP_POST_FILES['fichier']['size'];
    $ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];
     
    // Diverses test afin de savoir si :
    // Le format de fichier correspond à notre tableau array
    if(!in_array($ftype, $allowed_types)){$error = 1;}
     
    // La taille du fichier n'est pas dépassée
    if($fsize > $MAX_FILE_SIZE){$error = 2;}
     
    // Le fichier n'existe pas déjà
    if(file_exists($folder."m_".$fname)){$error = 3;}
     
    // Si tout va bien, c'est bien déroulé
    if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}
     
    // Switch servant simplement à la gestion des erreures
    switch($error){
    case'0':
    echo '<center>';
    echo("<br><b>Fichier correctement envoyé.</b>");
    echo '<br><br><form><input type="submit" value="    OK    " onclick="javascript:window.close()"></form><br>';
    echo '</center>';
    break;
    case'1':
    echo '<center>';
    echo("<br><b>Format de fichier incorrecte.</b>");
    echo '<br><br><form><input type="submit" value="    Annuler    " onclick="javascript:window.close()"></form><br>';
    echo '</center>';
    break;
    case'2':
    echo '<center>';
    echo("<br><b>Fichier trop volumineux.</b>");
    echo '<br><br><form><input type="submit" value="    Annuler    " onclick="javascript:window.close()"></form><br>';
    echo '</center>';
    break;
    case'3':
    echo '<center>';
    echo("<br><b>Fichier déjà existant.</b>");
    echo '<br><br><form><input type="submit" value="    Annuler    " onclick="javascript:window.close()"></form><br>';
    echo '</center>';
    break;
    }
    (le script n est pas de moi)

    donc, le probleme est que cela fonctionne avec easyPHP, mais pas sur mon serveur qui est lui aussi sous windows et apache.
    Apres avoir cherché un peu, je me suis rendus compte que dans le fichier
    php.ini
    il me manquait a remplir le champs
    upload_tmp_dir =
    je me suis donc empressé de le combler comme il suit :
    upload_tmp_dir = "C:/Program Files/php/upload_temp"
    et apres avoir redelarrer le serveur, cela ne fonctionne toujours pas!

    Pire ! dans phpinfo, la propriete de
    upload_tmp_dir
    n est toujours pas remplie ...
    je dois mal le faire, mais pourriez vous m indiquer la marche a suivre ?
    si toutefois le probleme vient de la ...

    Je vous remercie d avance,

    bonne soiree,
    Size

  2. #2
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Tu a bien modifier le bon fichier php.ini? Moi une fois j'ai modifier selui du dossier php et non selui du dossier apache. C'est tout bêtte mais ma falut plus d'1H pour comprendre ^^
    (Tu doit modifier selui dont tu a indiquer le chemin dans le fichier de config d'apache)
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Points : 45
    Points
    45
    Par défaut ben ...
    salut a toi JC_Master,

    je te remercie pour le tuyau, mais non, c est le bon fichier
    php.ini
    que je modifie, pour en etre sur j ai meme modifier la taille maximale que peut recevoir apache par http et ca a ete pris en compte ... le probleme est la, j en suis sur, mais pas moyen de comprendre ...
    j ai essayé en changeant la casse, en mettant, enlevant les slash ou meme anti slash, rien a faire ...

    je comprends pas ...
    merci a toi, j espere qu on va pouvoir m aider ...

    bonne soiree,

    Size

  4. #4
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 274
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 274
    Points : 1 991
    Points
    1 991
    Par défaut
    C'est pas grave si tu n'as pas de valeur pour upload_tmp_dir. Tu devrais déjà essayé un script qui fonctionne.
    Regarde dans la
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Points : 45
    Points
    45
    Par défaut RE Bidouille
    Bonjour a vous,

    pour te repondre BiDouille, mon script fonctionne !!!
    quand je le teste sur mon propre ordinateur en local (easyPHP + Windows), cela fonctionne !!!

    Mais des que je l'exporte sur mon serveur Apache + PHP sous windows, cela ne fonctionne pas, et la seule difference que j ai trouvé pour le moment dans la configuration ormis les repertoire d'installation, c est le champs
    upload_tmp_dir
    si le script fonctionne avec easyphp, il n y a pas de raison que cela ne fonctionne pas sur mon serveur (php4 sur les deux machines)

    voila, j'espere avoir repondu,
    j'espere que vous pourrez m'aider ...

    merci d avance,

    Size

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Que vaut $ftmp ?

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Points : 45
    Points
    45
    Par défaut
    $ftmp???
    c'est quelle variable ca, celle du dossier temporaire???
    si c est celle la, elle vaut
    No Value
    alors que dans le fichier php.ini, je lui ai attribué
    "c:/Program Files/php/upload_temp/"
    voila, j espere avoir repondu a la bonne question, j'attends votre aide

    merci,

    Size

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    que donne var_dump($_FILES) ?

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    salut,

    je demande ça au cas ou !

    mais le fichier que tu utilises pour faire tes tests d'upload, a la meme taille dans les 2 cas ?

  10. #10
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 274
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 274
    Points : 1 991
    Points
    1 991
    Par défaut
    Sûrement une histoire de droits.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2004
    Messages : 68
    Points : 45
    Points
    45
    Par défaut
    c est pas possible que ce soit un probleme de droit, c est moi l administrateur complet du serveur ...

    et oui, le fichier que j upload en local ou de part internet est exactement le meme ...

    je ne comprends pas pourquoi je n arrive pas a modifier cette variable dans php.ini, c est vraiment bizarre ...

    c est quoi cette variable que tu me dis :

    var_dump($_FILES)

  12. #12
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    C'est la variable qui contient les fichier envoiller par post. Var_dump afiche la structure de la variable.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $Var = "blabla";
    var_dump($Var);
    donera
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var string(6) = "blablabla"
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

Discussions similaires

  1. PHP Eclipse sous windows et déploiement sur serveur Linux
    Par napoleon21 dans le forum Eclipse PHP
    Réponses: 1
    Dernier message: 13/10/2009, 22h16
  2. installation php-gtk2 sous windows
    Par awsoft dans le forum GTK+ avec PHP
    Réponses: 0
    Dernier message: 18/09/2008, 18h40
  3. installer php interpreter sous windows
    Par bleuerouge dans le forum Modules
    Réponses: 0
    Dernier message: 08/01/2008, 11h40
  4. [MySQL] Site de test en php/mysql sous windows
    Par caossak dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/06/2007, 18h20
  5. [Configuration] Problème de configuration PHP/apache sous windows
    Par r.jean.maurice1 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/07/2006, 15h32

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