Les partenaires publicitaires:

Comment télécharger une image pour PHP avec insert mysql

Scripts PHP sont souvent jumelés avec une base de données MySQL pour générer du contenu sur un site Web. Dans le cas d'une galerie de photos, les images elles-mêmes résident dans un dossier sur un serveur, et les informations de la photo, peut-être le nom du fichier de la photo, une légende et une photo numéro d'identification, sont stockées dans la base de données MySQL. Téléchargeant une photo exige de placer la photo dans le bon dossier et de créer une requête SQL "Insérer" pour placer les informations de l'image dans la base de données. Utiliser un script PHP pour atteindre ces deux mouvements.

Instructions

  1. Créer un formulaire dans le corps d'un document HTML qui peut télécharger un fichier et accepter l'entrée de l'utilisateur pour une "légende" et le nombre "de photo_id". Donnez le bouton «Soumettre», le nom de l'attribut "Envoyer". Lorsque l'utilisateur clique sur la forme, superglobale tableau $ _POST sera créé qui inclut tous les attributs de nom de la forme.

  2. Commencez votre code PHP en haut de votre document HTML et le test de l'existence de l'élément "upload" dans le tableau $ _POST. Son existence va déclencher votre code PHP à exécuter.

    <?php

    si (array_key_exists ('upload', $ _POST)) {

  3. Créer une connexion à votre serveur MySQL et une base de données appelée «exemple». Utilisez votre propre nom d'utilisateur et mot de passe de base de données à la place du "username" et "password".

    $ conn = new mysqli ('localhost', 'nom d'utilisateur', 'mot de passe', 'échantillon') or die ("erreur");

  4. Créer une table appelée "galerie" au sein de la base de données "sample" et mis en place avec trois colonnes intitulées "nom de fichier", "légende" et "photo_id".

    $ query = "CREATE TABLE IF NOT EXISTS galerie

    (

    nom varchar (30) NOT NULL,

    caption varchar (500) NOT NULL,

    photo_id int (3) NOT NULL

    ) ";

    $ result = mysqli_query ($ conn, $ query);

  5. Ajouter du code PHP pour définir un répertoire de téléchargement appelé "les images." Créez un dossier appelé "images" dans le même endroit où vous enregistrez votre document. Modifiez les autorisations sur le dossier à lire et écrire. Dans Windows, droit; cliquez sur le dossier et sélectionnez l'onglet "Sécurité". Placez une coche à côté de "Lire" et "Ecrire". Sur un Mac, appuyez sur "Command" et "I" et faites défiler jusqu'à «Propriété et autorisations" sous "Détails". Changez le réglage pour "Autres" à "lecture / écriture." Le code PHP est:

    define ('upload_dir', 'images /');

  6. Ajouter code PHP pour déplacer la photo et attribuer le nom du fichier à la variable $ file.

    move_uploaded_file ($ _ FILES ['image'] ['tmp_name'], $ _ upload_dir FICHIERS ['image'] ['nom'].);

    $ file = $ _FILES ['image'] ['nom'];

  7. Ajouter votre requête MySQL "Insérer" pour saisir les informations de photo dans la base. Définir une variable appelée $ OK pour vrai si la requête "Insertion" est réussie.

    sql3 $ = "INSERT INTO galerie (nom de fichier, légende, photo_id) VALUES ('$ file'?,?)";




    $ stmt = $ conn-> stmt_init ();

    if ($ stmt-> prepare (sql3 $)) {

    $ stmt-> bind_param ('SS', $ _POST ['légende'], $ _POST ['photo_id']);

    OK = $ $ stmt-> execute () -

  8. Ajouter un message d'affichage pour indiquer la réussite si la variable $ OK est définie sur true. Sinon, affiche un message d'erreur. Fermez votre code PHP:

    if ($ OK) {

    echo ("Vous n'êtes photo a été téléchargé avec succès") -}

    else {

    echo $ response = $ stmt-> erreur;

    }

    }

    ?>
  9. Enregistrez votre page avec une extension .php à votre serveur PHP ou un code PHP émulateur en ligne. Vous devriez voir un formulaire de téléchargement familier. Choisissez une petite photo sur votre bureau, ajouter un numéro de légende de l'échantillon et une photo d'identité et pousser «Soumettre». Vous devriez recevoir un message en haut de la page dans le navigateur que votre photo a été téléchargé avec succès. Vérifiez votre base de données pour une nouvelle table appelée "galerie" avec les informations que vous avez soumis dans la forme. Le code complet apparaît comme suit:

    <?php

    si (array_key_exists ('upload', $ _POST)) {

    $ conn = new mysqli ('localhost', 'nom d'utilisateur', 'mot de passe', 'échantillon') or die ("erreur");

    $ query = "CREATE TABLE IF NOT EXISTS galerie

    (

    nom varchar (30) NOT NULL,

    caption varchar (500) NOT NULL,

    photo_id int (3) NOT NULL

    ) ";

    $ result = mysqli_query ($ conn, $ query);

    define ('upload_dir', 'images /');



    move_uploaded_file ($ _ FILES ['image'] ['tmp_name'], $ _ upload_dir FICHIERS ['image'] ['nom'].);

    $ file = $ _FILES ['image'] ['nom'];

    sql3 $ = "INSERT INTO galerie (nom de fichier, légende, photo_id) VALUES ('$ file'?,?)";

    $ stmt = $ conn-> stmt_init ();

    if ($ stmt-> prepare (sql3 $)) {

    $ stmt-> bind_param ('SS', $ _POST ['légende'], $ _POST ['photo_id']);

    OK = $ $ stmt-> execute ();

    }

    if ($ OK) {

    echo ("Vous n'êtes photo a été téléchargé avec succès") -}

    else {

    echo $ response = $ stmt-> erreur;

    }

    }

    ?>

» » » » Comment télécharger une image pour PHP avec insert mysql