Hier is mijn functie, er is eigenlijk niet veel veranderd.
<?php
function cacheImage($srcFile, $targetDir, $width, $height) {
$src = imagecreatefromjpeg($srcFile);
imagepalettetotruecolor($src);
$dest = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($src, 255, 255, 255);
imagefill($dest, 0, 0, $white);
$r = imagesx($src) / imagesy($src);
if(imagesx($src) > imagesy($src)) {
$w = $width;
$h = $height / $r;
imagecopyresampled($dest, $src, 0, ($height-$h)/2, 0, 0, $w, $h, imagesx($src), imagesy($src));
} else {
$w = $width * $r;
$h = $height;
imagecopyresampled($dest, $src, ($width-$w)/2, 0, 0, 0, $w, $h, imagesx($src), imagesy($src));
}
@mkdir($targetDir, 0777, true);
imagejpeg($dest, $targetDir . '/' . $srcFile);
imagedestroy($dest);
imagedestroy($src);
}
cacheImage('chiffon.jpg', 'nieuw', 800, 800);
?>
Link gekopieerd
Er is nik mis met de eerdere code.
Een op een overgenomen en het werkt.
Link gekopieerd
Nog één vraagje: kent iemand een manier om een hele map met foto's door deze functie te halen?
[size=xsmall]Toevoeging op 08/04/2020 18:28:54: [/size]
Ja Adoptive Solution, dat klopt. Ik heb een foutje gemaakt waardoor hij niet werkte. Zo gaat dat wel vaker met programmeren ;-)
Link gekopieerd
Al gekeken naar scandir()?
Sluit wel directories en de rootmappen '.' en '..' uit.
Als je dit in de commandline kan draaien zou het helemaal mooi zijn.
Link gekopieerd
En hoe maak ik hier een functie van?
Zoiets?
<?php
$afbeeldingen = scandir('oud/');
foreach($afbeeldingen AS $afbeelding) {
cacheImage($afbeelding, 'nieuw', 800, 800);
}
?>
[size=xsmall]
Toevoeging op 08/04/2020 18:36:32: [/size]
Waarschijnlijk is dit een betere manier bedenk ik me net:
<?php
$afbeeldingen = scandir('oud/');
for($x = 0; $x < count($afbeeldingen); $x++) {
cacheImage($afbeeldingen[$x], 'nieuw', 800, 800);
}
?>
Link gekopieerd
Link gekopieerd
Ik heb geleerd mysqli_query-resultaten in foreach-loops te tonen, en normale array's in for-loops.
Link gekopieerd
Uit welke cursus? Ik vermoed dat die nog over PHP 3 spreken? Wat dit klinkt niet echt gewoon.
Link gekopieerd
Het is niet echt een cursus die ik gevolgd heb, maar zo heb ik het mezelf aangeleerd. Hoe zou jij het dan doen?
Link gekopieerd
While() { } voor voornamelijk queries
foreach() { } voor array's.
Link gekopieerd