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

PHP & Base de données Discussion :

Soucis d'upload PHP


Sujet :

PHP & Base de données

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2019
    Messages : 3
    Par défaut Soucis d'upload PHP
    Bonjour débutante dans le web et après avoir fait plusieurs recherches je n'arrive pas à trouver le soucis. Je cherche à uploader mes images dans un répertoire puis ensuite sur ma bdd. Je souhaiterais que mes fichiers uploadés arrivent dans le dossiers assets/images/uploads

    Voici mon code :
    Ce fichier ce trouve dans dossier le backOffice/views/
    fichier cv.phtml où se trouve le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <section class="bo_form">
    <h1 class="h1 bo_title1">Ajouter votre nouveau cv</h1>
        <form action="addCv.php" method="POST" enctype="multipart/form-data" >
            <input class="bo_form_item" type="file" id="cvForm" name="cvForm" accept=".png, .jpg, .pdf, .jpeg ">
            <button class="bo_form_button" type="submit" class="bo_form_button"> valider </button>
            <p><strong>Note:</strong> Seuls les formats .pdf, .jpg, .jpeg .png sont autorisés </p>
        </form>
     
    </section>
    Ce fichier ce trouve dans le dossier backOffice/
    Voici le code du fichier addCv.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
     
    <?php
    session_start();
    if(!isset($_SESSION['connected']) || $_SESSION['connected'] !== true )
    header('Location:login.php');
     
     
     
    //ces includes servent à la fonction connexion à la bdd
    include('../config/config.php');
    include('../lib/bdd.lib.php');
     
     
     
    $vue='cv.phtml';
    $errorForm = []; 
    $id=null;
    $lienCv = '';
    $title = 'ajout cv';
    $fichier = '';
     
    try{
        if (array_key_exists('cvForm',$_POST)){
     
            // je vais chercher mon formulaire
            $lienCv = trim($_POST['cvForm']);
     
            if($lienCv == ''){
     
                $errorForm[] = 'Votre lien ne peut être vide';
            }
     
            if(count($errorForm) == 0)
            {  
     
                // /* upload image ! */
                $nomFichier = basename($_FILES['cvForm']['name']);
                $cheminDossier = UPLOADS_DIR;
                $cheminFichier= $cheminDossier . $nomFichier;
                $extensionFichier = pathinfo($nomFichier,PATHINFO_EXTENSION); 
                $taille_maxi = 1000000;
                $taille = filesize($_FILES['cvForm']['tmp_name']);
                $extensionsAutorisees = array('png','jpg','jpeg','pdf');
                $fichier =  $_FILES['cvForm']['tmp_name'];
     
                //Vérifications de sécurité
                if(!in_array($extensionFichier,$extensionsAutorisees)){
                    $erreur = 'Vous devez uploader un fichier de type pdf, png, jpg, jpeg..';
                }
                if($taille>$taille_maxi){
                    $erreur = 'Le fichier est trop gros';
                }
                if(!isset($erreur)) {
                    if(move_uploaded_file($fichier, $cheminFichier)) {
     
                        $bdd= connexion();
                        $sth1= $bdd->prepare('INSERT INTO `cv`(lien_cv) VALUES (:lien_cv)');
                        $sth1->bindValue(':lien_cv',$nomFichier, PDO::PARAM_STR);
                        $sth1->execute();
     
                        //message dynamique
                        $_SESSION['SuccesFlash']= 'Le cv a bien été ajouté.';
                        header('Location:index.php');
                        exit();
     
                    }
                    else{
                        echo 'Echec de l\'upload !';
                    }
                }
                else{
                    echo $erreur;
                }
     
     
            }
        }
    }
    catch(PDOException $e){
        $vue= 'erreur.phtml';
        $errorForm[] = 'Une erreur s\'est produite : '.$e->getMessage();
     
    }
    include('views/layout.phtml');

    - J'ai fais des var_dump de $_FILES donc pas de soucis le fichier est bien pris en compte , je retrouve bien tout ce que je cherche.
    - Je me demande donc si je n'ai pas un problème avec l'url vers lequel je renvois mon fichier à uploader mais j'ai essayé pas mal de variante pour le chemin, sans aucun succès. un var_dump de UPLOADS_DIR = /var/www/petsitter/assets/images/uploads/ ce qui est l'url complète donc il me semble que c'était une bonne solution.
    - Je me demande donc si ce n'est pas un soucis de droits de création dans le dossier uploads ( j'ai donc essayé de modifier les permissions des fichiers en donnant l'autorisation de création et suppression des fichiers au groupe ou aux autres... mais ça ne reste pas une fois valider voir pièce jointe ).
    - Peut être que je suis complètement à coté de la plaque
    - mon problème s’arrête move_uploaded_file($fichier, $cheminFichier).

    -Je n'ai pas de message d'erreur qui m'aiderait grandement

    Voilà j'espère ne pas avoir été trop brouillon dans mon explication.
    Merci pour votre aide si ça peut me débloquer !
    Images attachées Images attachées  

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

Discussions similaires

  1. [Upload] AFFICHAGE ERREUR upload.php
    Par cherifa dans le forum Langage
    Réponses: 1
    Dernier message: 17/09/2006, 15h29
  2. [Upload] php.ini et upload
    Par djedje37et28 dans le forum Langage
    Réponses: 8
    Dernier message: 03/08/2006, 20h54
  3. [Upload] Php : script d'Upload vers mon site : Big Probleme
    Par CyberTwister dans le forum Langage
    Réponses: 8
    Dernier message: 27/03/2006, 08h06
  4. [Upload] Upload fichier upload.php?fichier=c:\toto.sql
    Par enibris dans le forum Langage
    Réponses: 4
    Dernier message: 04/03/2006, 19h43
  5. [Upload] PHP 4 sous Windows => Upload
    Par size_one_1 dans le forum Langage
    Réponses: 11
    Dernier message: 24/12/2005, 14h30

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