{"id":26140,"date":"2021-06-13T17:06:00","date_gmt":"2021-06-13T14:06:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26140"},"modified":"2021-10-18T03:01:01","modified_gmt":"2021-10-18T00:01:01","slug":"ridimensiona-l-immagine-in-php-usando-la-libreria-di-immagini-di-intervento","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/ridimensiona-l-immagine-in-php-usando-la-libreria-di-immagini-di-intervento\/","title":{"rendered":"Ridimensiona l&#8217;immagine in PHP usando la libreria di immagini di intervento"},"content":{"rendered":"<p>Stai cercando come ridimensionare le immagini in PHP? Mentre lavoriamo sull&#8217;applicazione web, dobbiamo creare diverse versioni in miniatura dell&#8217;immagine originale. La miniatura \u00e8 la versione ridimensionata della tua immagine originale, In questo articolo, studiamo come caricare e ridimensionare le immagini in PHP.<\/p>\n<h3>Perch\u00e9 dovremmo ridimensionare le immagini?<\/h3>\n<p>Sul sito Web, ci sono diversi scenari in cui \u00e8 necessario visualizzare una versione breve di un&#8217;immagine di grandi dimensioni. Un esempio popolare \u00e8 la Galleria di immagini. Nella galleria, mostravamo un elenco di piccole immagini. Quando un utente fa clic sull&#8217;immagine piccola, si aprir\u00e0 l&#8217;immagine grande nel pop-up. Un altro esempio \u00e8 la visualizzazione di articoli correlati in cui mostriamo piccole immagini insieme al titolo e alla descrizione di un post.<\/p>\n<p>In questi scenari, dobbiamo generare una piccola immagine (miniatura) utilizzando la nostra immagine originale. Una piccola miniatura riduce le dimensioni delle tue pagine. Poich\u00e9 stai utilizzando una piccola miniatura, il browser richiede una larghezza di banda ridotta per caricare l&#8217;immagine. Aggiunger\u00e0 alcuni vantaggi al sito web. Alcuni di loro sono:<\/p>\n<ul>\n<li>Migliora le prestazioni del server<\/li>\n<li>Ridurre la larghezza di banda<\/li>\n<li>Migliora la velocit\u00e0 della pagina<\/li>\n<\/ul>\n<p>Detto questo, diamo un&#8217;occhiata a come ridimensionare l&#8217;immagine in PHP.<\/p>\n<h3>Iniziare<\/h3>\n<p><a href=\"http:\/\/image.intervention.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Intervention Image<\/a> \u00e8 una libreria open source che funge da strumento di ridimensionamento delle immagini. Sotto il cofano, Intervention Image utilizza GD Library e Imagick per l&#8217;elaborazione e la manipolazione delle immagini.<\/p>\n<p>Per iniziare, devi installare la libreria Intervention Image nella tua applicazione. Consiglio di utilizzare <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> per l&#8217;installazione di una libreria.<\/p>\n<p>Apri il terminale nella directory principale del tuo progetto ed esegui il comando seguente.<\/p>\n<pre><code>composer require intervention\/image<\/code><\/pre>\n<p>Dopo aver installato la libreria, \u00e8 necessario includere il suo ambiente nell&#8217;applicazione. Per questo, includi sotto due righe al file PHP.<\/p>\n<pre><code>&lt;?php\n\/\/ include composer autoload\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;<\/code><\/pre>\n<p>Per caricare e ridimensionare l&#8217;immagine, abbiamo bisogno di un modulo in cui \u00e8 possibile sfogliare l&#8217;immagine e premere il pulsante di invio. Usa il codice HTML sottostante che contiene l&#8217;input del file e un pulsante di invio.<\/p>\n<pre><code>&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;p&gt;&lt;input type=\"file\" name=\"image\" \/&gt;&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"submit\" value=\"Submit\"&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h3>Ridimensiona l&#8217;immagine in PHP usando l&#8217;immagine di intervento<\/h3>\n<p>Abbiamo installato la libreria e creato un modulo. Successivamente, dobbiamo caricare e ridimensionare l&#8217;immagine al volo. Creer\u00f2 due directory <code>uploads<\/code>e <code>thumbnails<\/code>. Nella <code>uploads<\/code>cartella, memorizzeremo l&#8217;immagine originale. La versione in miniatura dell&#8217;immagine verr\u00e0 archiviata all&#8217;interno della <code>thumbnails<\/code>directory.<\/p>\n<p>Usa il codice seguente che memorizzer\u00e0 la versione originale e in miniatura dell&#8217;immagine nelle directory <code>uploads<\/code>e <code>thumbnails<\/code>rispettivamente.<\/p>\n<pre><code>&lt;?php\nrequire 'vendor\/autoload.php';\n\u00a0\u00a0\nuse InterventionImageImageManagerStatic as Image;\n\u00a0\n$allowed_mime_type = array('image\/jpg', 'image\/jpeg', 'image\/png', 'image\/gif');\n\u00a0\nif (isset($_POST['submit'])) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if (in_array($_FILES['image']['type'], $allowed_mime_type)) {\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = time().'_'.$_FILES['image']['name'];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filepath = 'uploads\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['image']['tmp_name'], $filepath);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (!file_exists('uploads\/thumbnails')) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mkdir('uploads\/thumbnails', 0755);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$thumbnailpath = 'uploads\/thumbnails\/'. $filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img = Image::make($filepath);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$img-&gt;save($thumbnailpath);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Nel codice sopra, ho passato la larghezza a 300 e ho ridimensionato l&#8217;immagine mantenendo le proporzioni. Puoi passare il valore della larghezza secondo le tue esigenze. Si consiglia di mantenere le proporzioni quando si ridimensiona l&#8217;immagine. Usando le proporzioni, l&#8217;immagine non si allungher\u00e0. Tuttavia, se stai cercando un ritaglio duro, sostituisci le righe sottostanti<\/p>\n<pre><code>$img-&gt;resize(300, null, function ($constraint) {\n\u00a0\u00a0\u00a0\u00a0$constraint-&gt;aspectRatio();\n});<\/code><\/pre>\n<p>Con<\/p>\n<pre><code>$img-&gt;resize(300, 150)-&gt;save($thumbnailpath);<\/code><\/pre>\n<h3>Conclusione<\/h3>\n<p>In questo tutorial, abbiamo studiato come ridimensionare le immagini mantenendo le loro proporzioni. Abbiamo anche scritto un codice che taglier\u00e0 duramente l&#8217;immagine. La libreria di immagini di intervento fornisce alcune opzioni in pi\u00f9 per un <code>resize<\/code>metodo. Puoi leggere di pi\u00f9 a riguardo sulla loro <a href=\"http:\/\/image.intervention.io\/api\/resize\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documentazione<\/a>.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/ridimensiona-l-immagine-in-laravel-usando-la-libreria-di-immagini-di-intervento\/\" title=\"Ridimensiona l&#039;immagine in Laravel usando la libreria di immagini di intervento\">Ridimensiona l&#8217;immagine in Laravel usando la libreria di immagini di intervento<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/ridimensiona-l-immagine-in-php-usando-tinypng\/\" title=\"Ridimensiona l&#039;immagine in PHP usando TinyPNG\">Ridimensiona l&#8217;immagine in PHP usando TinyPNG<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/trascina-e-rilascia-il-caricamento-di-file-utilizzando-javascript-e-php\/\" title=\"Trascina e rilascia il caricamento di file utilizzando JavaScript e PHP\">Trascina e rilascia il caricamento di file utilizzando JavaScript e PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo articolo, studiamo come ridimensionare le immagini in PHP utilizzando Intervention Image Library. L&#8217;uso di una versione in miniatura riduce le dimensioni della pagina web<\/p>\n","protected":false},"author":1,"featured_media":21621,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[276],"tags":[846],"class_list":["post-26140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/26140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=26140"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/26140\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21621"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=26140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=26140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=26140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}