Compresie poze in masa (bulk)

In acest articol vei invata cum sa faci o compreise poze in masa sau bulk. Asta inseamna ca ai un director in care ai multe poze si vrei sa le comprimi pentru a salva spatiu. O astfel de operatie este necesara atunci cand sunt foarte multe poze si nu vrei sa faci asta manual cu fiecare poza.

Metoda pe care v-o prezint e destul de simpla si poate fi aplicata pe fisiere .jpeg (.jpg) sau .png. Eu de atat am avut nevoie si am creat cdodul de mai jos pentru a face asta. Eu sunt programator, pasionat de wordpress si am costatat ca la mine pe server, pe unul dintre domenii ocupam foarte mult spatiu. Acest spatiu era ocupat de poze necompresate, aprox 2Gb de spatiu. Dupa compresie am obtinut 830Mb de spatiu fara a pierde din calitate. Pe langa spatiul salvat paginile care folosesc acele poze se vor incarca si mai repede, ceea ce ajuta la SEO.

Ce aveti nevoie pentru o compresie poze in masa

Aveti nevoie de urmaotarele:

  • putine cunostiinte de programare. Softul e facut in php, iar daca urmati toti pasii puteti face asta si fara cunostiinte de programre, Trebuie doar sa urmati pasi sa faceti copy/paste si gata
  • aveti nevoie de un server Apache de omputerul vostru. Asta se poate face instaland XAMPP de aici: https://www.apachefriends.org/ro/index.html. Il downloadati si il instalati pe computerul vostru chiar daca aveti windows sau mac. Pentru linux instalati LAMPP. Cei care folositi linux probabil ca stiti deja.
  • Creati in XAMPP in htdocs un director cu orice nume vrei (sa ii zicem xyz pentru exercitiul asta).
  • in interiorul directorului creati un fisier indx.php si copiati acest cod in interiorul lui:
<?php
function compressImage($source, $destination, $quality) {

  $info = getimagesize($source);

  if ($info['mime'] == 'image/jpeg') 
    $image = imagecreatefromjpeg($source);

  elseif ($info['mime'] == 'image/png') 
    $image = imagecreatefrompng($source);

  imagejpeg($image, $destination, $quality);

}
$dir="folderpoze/demicsorat";
$fis=scandir($dir);
$nrel=count($fis);
for ($i=2;$i<$nrel;$i++) {
	echo "am micsorat $fis[$i] <br />";
	compressImage("folderpoze/demicsorat/".$fis[$i],"folderpoze/micsorate/".$fis[$i],60);
}
//print_r($fis);
?>
  • creati un director numit „folderpoze” in interirul directorului xyz
  • in interiorul directorului folderpoze crati 2 directoare: unul se chema „demicsorat” si al doilea „micsorate”
  • in folderul demicsorat copiati pozele pe care doriti sa le comprimati.
  • accesati in browser 127.0.0.1/xyz/index.php si va va afisa fiecare poza micsorata cand a comprimat-o.

Scriptul lucreaza asa: ia fiecare poza pe care o gaseste in folderul „demicsorat” (trebuie sa fie .jpg sau .png), o comprima si apoi o muta comprimata in folderul „micsorate”.

Sper sa va fie de folos, aveti mai jos si un video cum functioneaza si ce trebuie facut. Daca sunt intrebari astept in comentarii. In felul aceste va puteti face siguri scriptul care sa faca o compresie poze in masa.

Daca ti-a placut articolul te invit sa-l citesti si pe urmatorul: Automatizari electronice – sistem monitorizare temperatura si senzor monitorizare temperatura

Faci un comentariu sau dai un răspuns?

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *