Többen is kértetek tőlem az elmúlt időszakban PHP-val kapcsolatos segítséget, gondoltam, most megosztok egy kis szösszenetet egy nemrég futott webes projektem kódjából. A projekt keretén belül többek között automatikus miniatür generálást kellett megvalósítanom. Ehhez az alábbi funkciót használtam:
$data = getimagesize($baseFile);
$mime = $data['mime'];
switch ($mime) {
case 'image/png':
$imgcreate = 'imagecreatefrompng';
$imgsave = 'imagepng';
break;
case 'image/gif':
$imgcreate = 'imagecreatefromgif';
$imgsave = 'imagegif';
break;
case 'image/jpeg':
$imgcreate = 'imagecreatefromjpeg';
$imgsave = 'imagejpeg';
break;
default:
throw new Exception("Filetype not supported.");
}
$img = $imgcreate($baseFile);
list($width, $height) = getimagesize($baseFile);
$newHeight = ($height / $width) * $newWidth;
$tmp = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($tmp, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
if(file_exists($newFile)) {
unlink($newFile);
}
$imgsave($tmp, "$newFile");
}
Fontos volt, hogy az elkészített miniatür fájldátuma megegyezzen az eredeti fájl dátumával, amit pedig a következő funkcióval lehet könnyen megvalósítani:
$dt = filemtime($src);
if ($dt === FALSE) return FALSE;
touch($dest, $dt);
}
Legutóbbi bejegyzések
Kulcsszavak
#HA #acer #adattárolás #android #api #apple #apt #aszinkron #authenticator #backup #bareos #bash #big data #biztonság #bookstack #cisco #citrix #cli #cloud #cms #crypt #debian #desktop #dump #duplikált #előadás #expect #fstab #fájl #generáció #gif #github #gmail #google #google digital workshop #gépház #helpdesk #hibajavítás #hálózat #imagick #installer #iphone #iscsi #iso #ispconfig #it #jelszó #joomla #jpeg #konvertálás #kpartx #képzés #könyv #könyvajánló #lightdm #linux #locale #lubuntu #luks #lvm #maian support #megacli #memória #mentés #mikrotik #mount #munkacsoport #mysql #nextcloud #nfs #openvz #perl #php #png #pv #raid #raw #samba #sftp #shell #smartctl #smartmontools #snapshot #soho #ssh #ssl #storage #swap #switch #szoftver #szolgálati közlemény #team #telefon #thor #tool #ubuntu #unifi #vernee #vezetés #vg #vhd #virtualizáció #webhoszting #while #wifi #wiki #wordpress #xen #xenserver