Les partenaires publicitaires:

Comment télécharger et redimensionner une image PHP MySQL

En traitant avec un grand nombre d'images, il est souvent utile de les stocker dans une base de données. Cela rend accéder et de modifier les images simple et rationalisé, même lorsque vous avez besoin de changer plus d'un à la fois. Une tâche commune effectuée sur des images enregistrées est de redimensionner l'image. Téléchargement et redimensionnement d'une image en utilisant PHP et MySQL peut être très simple, et il vous permet de faire beaucoup de choses, comme créer un lot de vignettes pour votre galerie d'images, ou tout simplement afficher une image donnée dans un format autre que l'original.

Choses que vous devez

  • Hébergement web avec PHP et MySQL installé

Instructions

  1. 1

    Créer votre base de données et une table dans MySQL. Utilisation de votre interface MySQL, exécutez les commandes suivantes:

    CREATE DATABASE Test-

    UTILISER Test-

    Créer des images de table (

     série image_id,

    nom varchar (255) NOT NULL,

    mime_type varchar (255) NOT NULL,

    file_size int NON NUL,

    file_data LONGBLOB pas nul,

    clé primaire (image_id),

    index (nom de fichier)

    ) -

  2. 2

    Utilisez un éditeur de texte pour créer un fichier nommé "image_upload.html" et le remplir avec le code ci-dessous. Ce sera la forme pour sélectionner votre image avec.

    Ajouter une image

    Ajouter une image

  3. 3

    Créez un fichier nommé "connect.php" et le remplir avec le code ci-dessous. Ce sera le script qui permet à vos autres fichiers à utiliser la base de données. Utilisez votre propre nom d'utilisateur et mot de passe à la place du "$ l'ONU" et "$ PW" des valeurs comprises.

    lt;? php

    $ host ="localhost"- $ Un ="racine"- $ PW ="mot de passe"- $ Db = "test"-

    $ link = mysqli_connect ($ host, $ un, $ PW, $ db) -

    if (! $ link) {die ("Putain, lien non établi. ') - EXIT,}

    $ db = "test"-

    $ db = mysqli_select_db ($ link, $ db) -

    if (! $ link) {

    die ('erreur de connexion ('. mysqli_connect_errno (). ')'

    . mysqli_connect_error ()) -

    if (! $ link) {

    écho "Impossible d'établir la connexion au serveur de base de données"-

    Sortie-

    }

    if (! mysqli_select_db ($ link, 'test')) {

    écho "Impossible de se connecter à la base de données"-

    Sortie-

    }

    ?gt;

  4. 4

    Créez un fichier nommé "image_insert.php" et le remplir avec le code ci-dessous. Ce fichier aura les données d'image nous envoyons de la forme, et le placer dans votre table des images. Si il n'y a pas d'image passé à ce fichier, il retourne une erreur pour vous.

    lt;? php

    require_once ('connect.php') -

    si {die ("Pas d'image!) -} ($ _ FILES ['image']!)

    $ image = $ _FILES ['image'] -




    print_r ($ image) -

    $ query = sprintf (

    "INSERT INTO images (nom de fichier, mime_type, file_size, file_data)

    VALUES ('% s' '% s',% d, '% s')",

    mysql_real_escape_string ($ image ['nom']),

    mysql_real_escape_string ($ image ['type']),

    $ image ['size'],

    mysql_real_escape_string (

    file_get_contents ($ image ['tmp_name'])

    )

    ) -

    (! $ result = mysqli_query ($ link, $ query)) {si mourir («Merde arrivé en essayant d'insérer dans la table '.mysqli_error ($ link)) -}

    $ id = (int) mysqli_insert_id ($ link) -

    tête (. 'Lieu: id = image_view.php? $ id) -

    Sortie-

    ?gt;

    Erreur

    Il y avait une erreur dans votre code, ou le fichier ne peut être téléchargé pour une autre raison.

    Retourner

  5. 5

    Créez un fichier nommé "image_view.php" et enregistrer le code ci-dessous en elle. Ce fichier va tirer l'image de la base de données, et vous le montrer dans la taille que vous souhaitez. Le code ci-dessous a l'image affichée à 500 pixels par 500 pixels.

    lt;? php

    require_once ('connect.php') -

    $ = 500 desired_width

    $ = 500 desired_height

    $ id = (int) $ _GET ['id'] -

    $ query = "* CHOISIR DES IMAGES OU image_id = $ id"-

    $ result = mysqli_query ($ link, $ query) -

    $ image = mysqli_fetch_array ($ result) -

    mysqli_close ($ link) -

    $ = $ blobcontents image ['file_data'] -

    $ im = imagecreatefromstring ($) - blobcontents

    $ = nouvelle imagecreatetruecolor ($ desired_width, desired_height $) -

    $ x = imagesx ($ im) -

    $ y = imagesy ($ im) -

    imagecopyresampled ($ nouvelle, $ im, 0, 0, 0, 0, $ desired_width, desired_height $, $ x, $ y) -

    imagedestroy ($ im) -

    header ('Content-type: image / jpeg) -

    imagejpeg ($ nouvelle, null, 85) -

    ?gt;

  6. 6

    Recherchez le fichier et cliquez sur image_upload.html "Choisissez Fichier." Sélectionnez le fichier de votre ordinateur que vous souhaitez télécharger. Cliquez "Uploader le fichier." Le logiciel enregistre dans la base de données, puis affiche l'image de vous dans la taille que vous avez demandé.

Conseils & Avertissements

  • Modification des valeurs de $ et $ desired_width desired_height dans le fichier image_view.php va changer la taille de l'image quand il est affiché.
  • Sinon, vous pouvez créer des champs pour ces valeurs dans le formulaire de téléchargement, et de les transmettre à la dernière page pour rendre le script plus dynamique.
» » » » Comment télécharger et redimensionner une image PHP MySQL