PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe beim Bild Upload


Gast
2004-07-15, 20:19:14
Hi, kann mir evtl. jemand etwas Nothilfe leisten?
Ich möchte ein Bild in der Größe verändern, eine Funktion habe ich dafür bereits geschrieben, nun möchte ich aber noch testen, ob die Größe des Bildes höher als die Breite ist, wie komme ich an diese Daten?

Ausserdem muss ihc noch eine Möglichkeit finden, files zu löschen, kann mir irgendwer evtl. eine Funktion dafür nennen?

Vielen Dank im Vorraus, ich bin leider sehr unter Zeitdruck gerade...

Xmas
2004-07-15, 20:38:08
Wenn du auch erwähnst welche Sprache du meinst, welches Format die Bilder haben und welche Files du wo löschen möchtest, kann dir vielleicht eher jemand helfen.

Gast
2004-07-15, 21:01:21
sorry, Stress ^^ ich realisier das ganze in PHP, es geht mir nur darum, an die Größe der Bilder ranzukommen, ich hab ne Funktion geschrieben die mir die Bilder falls zu gross verkleinert:


function ResizeJPG( $image_file_path, $new_image_file_path, $max_width, $max_height ){
$return_val = 1;

$return_val = ( ($img = ImageCreateFromJPEG ( $image_file_path )) && $return_val == 1 ) ? "1" : "0";

$FullImage_width = imagesx ($img); // Original image width
$FullImage_height = imagesy ($img); // Original image height

// ueberpruefung von zu grossen bildern
// und umwandlung in richtige groesse
$ratio = ( $FullImage_width > $max_width ) ? (real)($max_width / $FullImage_width) : 1 ;
$new_width = ((int)($FullImage_width * $ratio)); //full-size width
$new_height = ((int)($FullImage_height * $ratio)); //full-size height

//bilder ueberpruefen, die noch zu hoch sind
$ratio = ( $new_height > $max_height ) ? (real)($max_height / $new_height) : 1 ;
$new_width = ((int)($new_width * $ratio)); //mid-size width
$new_height = ((int)($new_height * $ratio)); //mid-size height

// create und copy
if ( $new_width == $FullImage_width && $new_height == $FullImage_height ){
copy ( $image_file_path, $new_image_file_path );
}

$full_id = ImageCreate( $new_width , $new_height ); //create
ImageCopyResized( $full_id, $img,
0,0,0,0, //starting points
$new_width, $new_height,
$FullImage_width, $FullImage_height );
$return_val = ( $full = ImageJPEG( $full_id, $new_image_file_path, 100 ) && $return_val == 1 ) ? "1" : "0";

ImageDestroy( $full_id );

return ($return_val) ? TRUE : FALSE ;
}


Aber ich hab jetzt leider keine Ahnung wie ich es hinkrieg, dass die Bilder falls die längste Seite kleiner als 800 bzw. 100 is entsprechend vergrößert wird...

Wichtiger aber noch ist das löschen, ich will einfach ein file löschen mit Hilfe von PHP, wie stell ich das an?

Nase
2004-07-15, 23:57:37
Löschen geht mit unlink (http://de3.php.net/manual/de/function.unlink.php) .

Bzgl. der Bildbreite und -höhe. Du wendest doch schon die Funktion imagesx bzw. imagesy an. Da erfährst du doch, wie breit und hoch das Bild ist.