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 de fichier dans repertoire virtuel


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 830
    Par défaut Upload de fichier dans repertoire virtuel
    Bonjour à tous,

    j'ai un soucis un mon code php pour uploader un fichier:

    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
    ]
    <?php session_start();
    include ("fonction/fonction.bdd.php"); 
    connexion_mysql();
     
    if(isset($_POST["go"]))
    {
    if(isset($_POST["titre_id"]))	$titre_id=$_POST["titre_id"];
    else $titre_id='';
     
    if(isset($_POST["com_id"]))	$com_id=$_POST["com_id"];
    else $com_id='';
     
    if(isset($_POST["version_id"]))	$version_id=$_POST["version_id"];
    else $version_id='';
     
    if(isset($_POST["id_type"]))	$id_type=$_POST["id_type"];
    else $id_type='';
     
    if(isset($_POST["id_gamme"]))	$id_gamme=$_POST["id_gamme"];
    else $id_gamme='';
     
    if(isset($_POST["id_sgamme"]))	$id_sgamme=$_POST["id_sgamme"];
    else $id_sgamme='';
     
    if(isset($_POST["document_id"]))	$document_id=$_POST["document_id"];
    else $document_id='';
     
    ///////
    if ($_FILES) { 
    echo 'kkkkkkkkkkkkkkkk';
    }
    else
    {
    echo 'nnnnnnnnnnnnnnnnnnnnnn';
    }
    $dossier = '../doc_ged/';
    $fichier = basename($_FILES['document_id']['name']);
    $taille_maxi = 10000000000000;
    $taille = filesize($_FILES['document_id']['tmp_name']);
    echo "variable fichier>>>>>>>>".$fichier."<<<==";
    $extensions = array('.pdf', '.xls', '.doc');
    $extension = strrchr($_FILES['document_id']['name'], '.'); 
    echo 'llllllllllllllll'.$extension.'llllllllllllllllll';
    //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 pdf, xls ou doc...';
    }
     
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    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['document_id']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
     
    			//$url_mini_image= $dossier.$fichier;
    			$document_id=$fichier;
    			chmod("'.$dossier.''.$document_id.'", 0644);
    			//echo $url_mini_image;
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
     
    if(empty($titre_id) OR empty($com_id))
    {
    echo 'tout les champs doivent etre remplis';
     
    }
    else
    {
     
     
    //$query = mysql_query("INSERT INTO document_ged (id_id,titre_id, com_id, version_id, id_type, gamme_type, sgamme_type, document_id, date_id, id_user) VALUE ('', '$titre_id', '$com_id', '$version_id', '$id_type', '$id_gamme', '$id_sgamme', '$document_id', '$date_id', '$id_user');") or die (mysql_error());
    echo 'Image Rajoutée';
    echo "INSERT INTO document_ged (id_id,titre_id, com_id, version_id, id_type, gamme_type, sgamme_type, document_id, date_id, id_user) VALUE ('', '$titre_id', '$com_id', '$version_id', '$id_type', '$id_gamme', '$id_sgamme', '$document_id', '$date_id', '$id_user');";
    mysql_close();
     }
     
    }
    else
    {
    }
    print_r($_POST); echo "<br>";
    ?>
    le problème se situe au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Warning: move_uploaded_file(/ged/cclerc-Suivi-RFA-2009-20090902170837.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in /var/www/ged/v0.1a/ajout_ged2.php on line 61
     
    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phppvgJa6' to '/ged/cclerc-Suivi-RFA-2009-20090902170837.pdf' in /var/www/ged/v0.1a/ajout_ged2.php on line 61
    Echec de l'upload !

    Je n'arrive pas avoir pourquoi.

    - depuis mon linux je peut créer un document dans le repertoire de destination (chmod 777)
    - depuis mon navigateur web je peut ouvrir le contenue d'un txt créer dans le repertoire en question.

    Mon site web:
    /La racine
    /La racine/ged/v0.1a/upload.php
    /La racine/ged/ICI doit arriver mon fichier

    Le doc_ged est un répertoire virtuel (configuré sous apache), j'ai bien accès a ce repertoire dans mon navigateur, mais je pense que c'est ca qui bloque l'envoie du document dans ce répertoire virtuel.


    Merci

    guigui69

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 830
    Par défaut
    J'avance mais j'ai toujours un soucis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: chmod() [function.chmod]: Operation not permitted in /var/www/ged/v0.1a/ajout_ged2.php on line 64
    J'ai vérifier les droits au niveau du dossier (777) celui de windows (Modification). Je comprend pas a quel endroit la permission se bloque.

    Merci d'avance pour votre aide

    guigui69

Discussions similaires

  1. [Upload] Upload de fichier dans nouveau dossier
    Par ShaVo dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2006, 21h20
  2. [Upload] Uploader un fichier dans un répertoire spé !
    Par .:Djil:. dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2006, 14h34
  3. upload des fichiers dans mon serveur
    Par abdou.sahraoui dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/05/2006, 10h32
  4. [Upload] Problème pour uploader un fichier dans mon code
    Par Peuplarchiste dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 10h48
  5. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 15h09

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