Hi,
Kenn mich nicht so gut mit PHP aus, kann gerade mal die Scripts vernünftig einbinden, jetzt mein Problem:
habe im Netz ein einfaches Bild-Upload script gefunden, welches die Bilder auf die richtige Größe skaliert. Das Script funktionier super, allerdings wird nur eine Maximale Breite festgelegt. Sieht n bisschen blöd aus, bei Bildern im Hochformat, da die Höhe dann wieder den Rahmen sprengt. Also wie kann ich hier noch zusätzlich die maximal Höhe des Bildes definieren?
Die zweite Frage ist, wie ich das Zielverzeichnis für die hochgeladenen Dateien bestimmen kann, habs so versucht:
$uploaddir = '/gfx/';
$uploadfile = $uploaddir. $_FILES['bild']['name'];
und im script an der entsprechenden stelle
... if( !@move_uploaded_file( $_FILES['bild']['tmp_name'], $uploadfile) ) ...
geht aber nicht oO
MFG, Alex
Kenn mich nicht so gut mit PHP aus, kann gerade mal die Scripts vernünftig einbinden, jetzt mein Problem:
habe im Netz ein einfaches Bild-Upload script gefunden, welches die Bilder auf die richtige Größe skaliert. Das Script funktionier super, allerdings wird nur eine Maximale Breite festgelegt. Sieht n bisschen blöd aus, bei Bildern im Hochformat, da die Höhe dann wieder den Rahmen sprengt. Also wie kann ich hier noch zusätzlich die maximal Höhe des Bildes definieren?
Die zweite Frage ist, wie ich das Zielverzeichnis für die hochgeladenen Dateien bestimmen kann, habs so versucht:
$uploaddir = '/gfx/';
$uploadfile = $uploaddir. $_FILES['bild']['name'];
und im script an der entsprechenden stelle
... if( !@move_uploaded_file( $_FILES['bild']['tmp_name'], $uploadfile) ) ...
geht aber nicht oO
PHP-Code:
<?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, 90 );
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'], 100);
}
// CHMOD setzen damit man das Bild per FTP loeschen kann
@chmod( $_FILES['bild']['name'], 0755 );
@chmod( "t_" .$_FILES['bild']['name'], 0755 );
}
umask( $umaskold );
}
?>
Kommentar