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 :

Insérer un ou plusieurs fichiers php/sql/html


Sujet :

PHP & Base de données

  1. #41
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    cela me donne les noms des fichiers, juste avant les noms, j'ai l'indication que c'est une chaîne de caractère : string(nb_de_caractère)

  2. #42
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 29 208
    Points : 43 406
    Points
    43 406
    Par défaut
    Par exemple tu obtiens quoi ?
    Et que vaut $extension1 ensuite ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #43
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    string(9) "bilan.JPG"
    extension1 vaut :
    string(4) ".JPG"

  4. #44
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 29 208
    Points : 43 406
    Points
    43 406
    Par défaut
    Ton code n'est pas prévu pour des extensions en majuscules.
    Au passage "pathinfo" est plus efficace que strrchr pour trouver une extension.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $extensions1 = array('.png', '.gif', '.jpg', '.jpeg');
    $path_info = pathinfo($_FILES['image']['name']);
    $extension1 = strtolower($path_info['extension']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #45
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    merci mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $path_info = pathinfo($_FILES['image']['name']);
    Ne fonctionne pas, du coup j'ai essayé d'enregistrer une autre image .png

    J'ai les erreurs qui s'affichent pour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (move_uploaded_file($_FILES['image']['tmp_name'], $dossier1 . $fichier1))
    Warning: move_uploaded_file(/image/img1.jpg): failed to open stream: No such file or directory in D:\test\enr_fic1.php
    Warning: move_uploaded_file(): Unable to move 'C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\binaries\tmp\php2286.tmp' to '/image/img.jpg' in D:\test\enr_fic1.php on line 54

    Pourtant tout est créé

  6. #46
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    J'ai re testé le pathinfo, je n'ai pas d'erreur, mais ça ne s'enregistre toujours pas, ni dans les dossiers, ni dans phpmyadmin

  7. #47
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 29 208
    Points : 43 406
    Points
    43 406
    Par défaut
    Pour le move_uploaded_file, ton chemin '/image/' n'est pas un chemin windows.
    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dossier1 = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'image' . DIRECTORY_SEPARATOR
    Pour l'insertion qui n'a pas lieu, après toutes les étapes de debugage qu'on a fait ensemble, tu devrais savoir un peu maintenant nous dire a quel endroit ça bloque.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #48
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Merci beaucoup
    Toujours pas d'erreur, sauf pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $dossier1 = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . image . DIRECTORY_SEPARATOR
    alors j'ai testé un autre tuto, où j'ai testé seulement pour "pdf", j'arrive à enregistrer les fichiers dans le dossier, mais toujours pas dans PhpMyAdmin....

    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
     
    <?php
     
     
    require_once 'cnxBDD.php';
    if(isset($_POST['submit']))
    {    
     
     $file = rand(1000,100000)."-".$_FILES['pdf']['name'];
     $file_loc = $_FILES['pdf']['tmp_name'];
     $file_size = $_FILES['pdf']['size'];
     $file_type = $_FILES['pdf']['type'];
     $folder="pdf/";
     
     
     $new_size = $file_size/1024;  
     
     
     $new_file_name = strtolower($file);
     
     
     $final_file=str_replace(' ','-',$new_file_name);
     
     if(move_uploaded_file($file_loc,$folder.$final_file))
     {
     
      $sql="INSERT INTO fichiers(pdf,type_pdf,size_pdf) VALUES('$final_file','$file_type','$file_size')";
    	try {
    							$req = $bdd -> prepare($sql);
    							$req -> execute(array($final_file,$file_type,$file_size));
    							var_dump($req);
    							$req -> closeCursor();
    						} catch(Exception $e) {
    							echo '<pre><br>Erreur dans la requete <br/>' . $e -> getMessage() . '<br/>';
    						}
     
    ?>
    <script>
    	alert('Téléchargement avec succès');
    	window.location.href = 'formulaire.php?success'; 
    </script>
    <?php
    }
    else
    {
    ?>
    <script>
    	alert('ATTENTION ERREUR ! Votre téléchargement a échoué');
    	window.location.href = 'formulaire.php?fail'; 
    </script>
    <?php
    }
    }
    ?>
    ma connexion c'est :


    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
     
     
    <?php
     
    error_reporting(E_ALL);
     
     
    $hote = 'localhost';
    $utilisateur = 'root';
    $mdp = '';
    $nbdd = 'interface';
     
    try{
     
      $bdd = new PDO("mysql:host=$hote;dbname=$nbdd", $utilisateur, $mdp);
     
    } catch( PDOException $Exception ) {
     
        echo "Erreur !<br>";
        echo $Exception->getMessage();
        echo $Exception->getCode();
        exit();
    }
     
    ?>

  9. #49
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2005
    Messages : 29 208
    Points : 43 406
    Points
    43 406
    Par défaut
    Je te l'ai dit plusieurs fois : il faut activer les erreurs PDO quand tu developpes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #50
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    Oui désolée j'avais oublié de le remettre :/
    J'ai un problème au niveau de ma clé étrangère, pour expliquer j'ai mon formulaire, qui a un id, où cet id est une clé étrangère pour la table des fichiers à télécharger, parce qu'à la base je voulais mettre le formulaire et les fichiers à télécharger sur la même table mais je n'y suis pas arrivée.

    dans la table fichiers :
    id_fichier (clé primaire AI)
    id_formulaire (clé étrangère)
    pdf VARCHAR
    type_pdf VARCHAR
    size_pdf INT
    image VARCHAR
    type_image VARCHAR
    size_image INT
    editer_fichier VARCHAR
    type_editer VARCHAR
    size_editer INT

    Du coup, je pense que mon erreur vient du INSERT INTO, je sais qu'il faut que je fasse un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    INSERT INTO fichiers 
    VALUES 
    ('', id_formulaire, pdf, type_pdf,size_pdf,image,type_image,size_image,editer_fichier,type_editer,size_editer) 
    FROM fichiers, formulaire 
    WHERE fichiers.id_formulaire= formulaire.id_formulaire"
    Il manque la déclaration de la variable id_formulaire pour PHP et je ne vois pas comment l'expliquer,et, ce n'est pas pareil sur PHP, il faut faire
    "INSERT INTO table( ....)
    VALUES ($...)";

  11. #51
    Candidat au Club Avatar de tiph3164
    Femme Profil pro
    ingé
    Inscrit en
    février 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : ingé
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : février 2017
    Messages : 33
    Points : 4
    Points
    4
    Par défaut
    J'ai testé sans la clé étrangère, cela fonctionne , merci beaucoup pour toutes les aides !
    Par contre je ne sais pas comment faire avec la clé étrangère, puis-je avoir un petit coup de pouce, s'il te plaît ?

    D'avance merci

    @+

Discussions similaires

  1. [Stage] 2-3moi Développeur en PHP/SQL/HTML/CSS/JavaScript/Java/AS3
    Par Ckpierre dans le forum Demandes
    Réponses: 0
    Dernier message: 29/06/2011, 12h41
  2. Plusieurs fichiers php.ini
    Par michelw dans le forum Apache
    Réponses: 2
    Dernier message: 11/10/2009, 16h31
  3. Submit sur plusieurs formulaires PHP et HTML
    Par Gareth dans le forum Langage
    Réponses: 7
    Dernier message: 26/05/2009, 13h09
  4. Convertir plusieurs fichiers word en html
    Par Srh00 dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2008, 17h28
  5. [Wamp] Plusieurs fichiers php.ini
    Par adel.87 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 02/03/2008, 20h56

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