kostenloser Webspace werbefrei: lima-city


Upload_Picture-Funktion - mit Resize (Width,Height,kb)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    karlja

    karlja hat kostenlosen Webspace.

    Hallo,
    ich bastel f?r mich privat an einer kleinen Funktion herum, die mir Bilder hochl?dt in ein Verzeichnis auf einem Webserver (chmod777).
    Dabei soll die Funktion die Datei pr?fen, ob es ein Bild ist, die gew?nschte Gr??e besitzt bzw. sonst mit Erhaltung der Gr??enverh?ltnisse sie herstellen und auch die Gr??e im Hinblick auf kb passt und n?tigenfalls verkleinern.
    Zum Schluss unter einem neuen Namen abspeichern.

    function load_pic($pic,$new_width,$new_height,$new_size,$new_name)
    {
    
    //R?ckmeldung f?r den Benutzer
    return $load_pic_return;
    }


    Gibt es dazu etwas, was mir einiges an Arbeit abnimmt? Ich habe hier im Forum schon folgendes gefunden http://www.lima-city.de/tutorials.php?m=show&id=1021.
    Aber so wirklich hilft mir das auch nicht weiter bzw. ich sitze gerade ein wenig auf'm Schlauch.
    Kann mir jemand helfen? Und geht das mit der Gr??enreduzierung (kb) ?berhaupt?

    Vielen Dank schonmal.
    cya
    Karlja
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    karlja

    karlja hat kostenlosen Webspace.

    Da hier ja noch niemand eine Antwort auf meine Frage geliefert hat, habe ich mich mal selbst versucht... Allerdings liefert es noch nicht das gew?nschte Ergebnis. Ich denke es liegt am Aufruf der Funktion.

    Hier erstmal der Code f?r die Upload-Funktion
    function load_pic($_FILES,$new_width,$new_height,$new_size,$new_name) {
    require ("prefix.inc.php");
    
    // Einstellungen:
    // Verzeichnis, in das die Dateien hochgeladen werden; muss vorhanden sein und ben?tigt Schreiberechte (CHMOD 777):
    $upload_dir = "data/bilder";
    // Datei-Typen:
    $accepted_file_types = array('image/jpeg');
    // Datei-Endungen:
    $accepted_file_extensiones = array('jpg');
    
    if (isset($_FILES['file']) && $_FILES['file']['size'] != 0 && !$_FILES['file']['error']) {
    	unset($load_pic_errors);
    
    	// Datei-typ ok?
    	if (!in_array($_FILES['file']['type'], $accepted_file_types)) {
    		$load_pic_errors[0] = 'ungültiges Dateiformat ('.$_FILES['file']['type'].')';
    	}
    	// Extension ok?
    	$exts = explode(".", basename($_FILES['file']['name']));
    	$file_extension = strtolower($exts[sizeof($exts)-1]);
    	if (!in_array($file_extension, $accepted_file_extensiones)) {
    		$load_pic_errors[1] = 'ungültige Datei-Erweiterung ('.$file_extension.')';
    	}
    
    	// Size ok?
    	if ($_FILES['file']['size'] > $new_size*1000) {
    		$load_pic_errors[2] = 'Datei zu gro? ('.number_format($_FILES['file']['size']/1000,0,",","").')';
    	}
    
    	// Wenn bisher kein Fehler => Gr??e ok?
    	if (!isset($load_pic_error)) {
    		$load_pic_info = getimagesize($_FILES['file']['tmp_name']);
    		if ($load_pic_info[0] > $new_height || $load_pic_info[1] > $new_width) {
    //			$load_pic_errors[3] = 'Bild zu gro? ('.$load_pic_info[1].' x '.$load_pic_info[0].')';
    			if ($load_pic_info[2]==2) {
    			// JPG
    			$load_pic_old=ImageCreateFromJPEG($_FILES);
    			$load_pic_new=imageCreate($new_width,$new_height);
    			imageCopyResized($_FILES,$_FILES,0,0,0,0,$new_width,$new_height,$load_pic_info[1],$load_pic_info[0]);
    			ImageJPEG($load_pic_new,$_FILES);
    			}
    		}
    	}
    
    	// Wenn kein Fehler => Hochladen und umbenennen
    	if (empty($load_pic_errors)) {
    		if (move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.'/'.basename($_FILES['file']['name']))) {
    			rename($upload_dir.'/'.basename($_FILES['file']['name']),$upload_dir.'/'.$new_name.'.'.$file_extension);
    			return 'Das Bild wurde erfolgreich geladen.';
    		}
    
    	// Sonst Fehler anzeigen
    	} else { 
    		$load_pic_errors_text = '<ul>';
    		foreach($errors as $f) {
    			$load_pic_errors_text = '<li>'.$f;
    		}
    		$load_pic_errors_text = '</ul>';
    		return $load_pic_errors_text;
    	}
    }
    
    }


    Und dann noch der Funktionsaufruf:
    $admin_art_pic_result=load_pic($admin_art_file,200,200,200,$new_name);


    Und der Schnispel aus dem Formular:
    <input class="textinput" type="file" name="file" value="'.$file.'">


    Kann mir jetzt jemand weiterhelfen? - Danke.
    cya
    Karlja
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!