✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Ridimensiona l’immagine in PHP usando la libreria di immagini di intervento

127

Stai cercando come ridimensionare le immagini in PHP? Mentre lavoriamo sull’applicazione web, dobbiamo creare diverse versioni in miniatura dell’immagine originale. La miniatura è la versione ridimensionata della tua immagine originale, In questo articolo, studiamo come caricare e ridimensionare le immagini in PHP.

Perché dovremmo ridimensionare le immagini?

Sul sito Web, ci sono diversi scenari in cui è necessario visualizzare una versione breve di un’immagine di grandi dimensioni. Un esempio popolare è la Galleria di immagini. Nella galleria, mostravamo un elenco di piccole immagini. Quando un utente fa clic sull’immagine piccola, si aprirà l’immagine grande nel pop-up. Un altro esempio è la visualizzazione di articoli correlati in cui mostriamo piccole immagini insieme al titolo e alla descrizione di un post.

In questi scenari, dobbiamo generare una piccola immagine (miniatura) utilizzando la nostra immagine originale. Una piccola miniatura riduce le dimensioni delle tue pagine. Poiché stai utilizzando una piccola miniatura, il browser richiede una larghezza di banda ridotta per caricare l’immagine. Aggiungerà alcuni vantaggi al sito web. Alcuni di loro sono:

  • Migliora le prestazioni del server
  • Ridurre la larghezza di banda
  • Migliora la velocità della pagina

Detto questo, diamo un’occhiata a come ridimensionare l’immagine in PHP.

Iniziare

Intervention Image è una libreria open source che funge da strumento di ridimensionamento delle immagini. Sotto il cofano, Intervention Image utilizza GD Library e Imagick per l’elaborazione e la manipolazione delle immagini.

Per iniziare, devi installare la libreria Intervention Image nella tua applicazione. Consiglio di utilizzare Composer per l’installazione di una libreria.

Apri il terminale nella directory principale del tuo progetto ed esegui il comando seguente.

composer require intervention/image

Dopo aver installato la libreria, è necessario includere il suo ambiente nell’applicazione. Per questo, includi sotto due righe al file PHP.

<?php
// include composer autoload
require 'vendor/autoload.php';
  
use InterventionImageImageManagerStatic as Image;

Per caricare e ridimensionare l’immagine, abbiamo bisogno di un modulo in cui è possibile sfogliare l’immagine e premere il pulsante di invio. Usa il codice HTML sottostante che contiene l’input del file e un pulsante di invio.

<form method="post" enctype="multipart/form-data">
    <p><input type="file" name="image" /></p>
    <input type="submit" name="submit" value="Submit">
</form>

Ridimensiona l’immagine in PHP usando l’immagine di intervento

Abbiamo installato la libreria e creato un modulo. Successivamente, dobbiamo caricare e ridimensionare l’immagine al volo. Creerò due directory uploadse thumbnails. Nella uploadscartella, memorizzeremo l’immagine originale. La versione in miniatura dell’immagine verrà archiviata all’interno della thumbnailsdirectory.

Usa il codice seguente che memorizzerà la versione originale e in miniatura dell’immagine nelle directory uploadse thumbnailsrispettivamente.

<?php
require 'vendor/autoload.php';
  
use InterventionImageImageManagerStatic as Image;
 
$allowed_mime_type = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');
 
if (isset($_POST['submit'])) {
 
    if (in_array($_FILES['image']['type'], $allowed_mime_type)) {
 
        if (!file_exists('uploads')) {
            mkdir('uploads', 0755);
        }
 
        $filename = time().'_'.$_FILES['image']['name'];
        $filepath = 'uploads/'. $filename;
        move_uploaded_file($_FILES['image']['tmp_name'], $filepath);
 
        if (!file_exists('uploads/thumbnails')) {
            mkdir('uploads/thumbnails', 0755);
        }
 
        $thumbnailpath = 'uploads/thumbnails/'. $filename;
        $img = Image::make($filepath);
        $img->resize(300, null, function ($constraint) {
            $constraint->aspectRatio();
        });
        $img->save($thumbnailpath);
    }
}

Nel codice sopra, ho passato la larghezza a 300 e ho ridimensionato l’immagine mantenendo le proporzioni. Puoi passare il valore della larghezza secondo le tue esigenze. Si consiglia di mantenere le proporzioni quando si ridimensiona l’immagine. Usando le proporzioni, l’immagine non si allungherà. Tuttavia, se stai cercando un ritaglio duro, sostituisci le righe sottostanti

$img->resize(300, null, function ($constraint) {
    $constraint->aspectRatio();
});

Con

$img->resize(300, 150)->save($thumbnailpath);

Conclusione

In questo tutorial, abbiamo studiato come ridimensionare le immagini mantenendo le loro proporzioni. Abbiamo anche scritto un codice che taglierà duramente l’immagine. La libreria di immagini di intervento fornisce alcune opzioni in più per un resizemetodo. Puoi leggere di più a riguardo sulla loro documentazione.

articoli Correlati

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More