Hi ich habe ein Script, dass ein Bild hochläd, und ein Thumb in einer bestimmten Größe erstellt...
Nur leider kann ich die Größe irgendwie nicht wirklich definieren. Es bleibt immer gleich.. Was muss ich ändern, damit es die Größe "200x150px" annimmt?
PHP
<?php
// Funktion zum Thumbnail erstellen
function BildScale( $Grafikdatei, $ThumbnailBreite ) {
$Bilddaten = getimagesize( $Grafikdatei );
$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
if( $OriginalBreite < $ThumbnailBreite ) {
$ThumbnailBreite = $OriginalBreite;
}
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval( $OriginalHoehe/$Skalierungsfaktor );
$Originalgrafik = imagecreatefromjpeg( $Grafikdatei );
$Thumbnailgrafik = imagecreatetruecolor( $ThumbnailBreite, $ThumbnailHoehe );
imagecopyresampled( $Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe );
imagejpeg( $Thumbnailgrafik, $Grafikdatei, 80 );
imagedestroy( $Originalgrafik );
imagedestroy( $Thumbnailgrafik );
}
// Wenn das Formular abgeschickt wurde
if( isset( $_POST['submit'] ) ) {
$umaskold = umask( 0 );
// Falls die Datei groesser 0 Byte ist
if( $_FILES['bild']['size'] > 0 ) {
// Datei verschieben und bei Misserfolg Fehler ausgeben
if( !@move_uploaded_file( $_FILES['bild']['tmp_name'], $_FILES['bild']['name'] ) ) {
echo 'Konnte die Datei nicht kopieren!';
} else {
// Bildgroesse aendern (500px maximal Breite)
BildScale( $_FILES['bild']['name'], 500 );
// Bild kopieren um das Thumbnail zu erstellen
if( !@copy( $_FILES['bild']['name'], "t_" .$_FILES['bild']['name'] ) ) {
echo 'Konnte die Thumbnail-Datei nicht kopieren!';
} else {
BildScale( "t_" .$_FILES['bild']['name'], 100 );
}
}
// CHMOD setzen damit man das Bild per FTP loeschen kann
@chmod( $_FILES['bild']['name'], 0755 );
@chmod( "t_" .$_FILES['bild']['name'], 0755 );
}
umask( $umaskold );
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Bild-Upload mit Thumbnail Funktion</title>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="uploadform">
<input type="file" name="bild">
<input type="submit" name="submit" value="Bild hochladen">
</form>
</body>
</html>
Alles anzeigen