[PHP] Bilddatei zerlegen

LaberLu

Well-known member
ID: 298339
L
9 Mai 2006
913
18
Ich hab mir mal für einen Bilderupload dieses Script geholt:

PHP:
<?php
ini_set ('error_reporting', E_ALL);
$pfad = 'upload/';
$dateiupload_erfolgreich = false;


function CheckFilename($dateiname,$pfad)
    {
    global $fehler; $fehler = array();
    if (file_exists($pfad.$dateiname)) array_push($fehler, 'Es existiert bereits eine Datei mit dem Namen!');
    if(!in_array(strtolower(substr($dateiname,-4)),array('.jpg','jpeg','.png','.gif'))) array_push($fehler, 'Bitte nur Bilder mit der Endung .jpg, .jpeg, .png oder .gif hochladen!');
    return (sizeof($fehler)) ? false : $dateiname;
}


function CheckFile($dateiname_temp,$dateifehler,$dateigroesse)
    {
    global $fehler; $fehler = array();
         switch ($dateifehler) {
    case '1': $dateifehler_erklaerung ='Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.'; break;
    case '2': $dateifehler_erklaerung = 'Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.'; break;
    case '3': $dateifehler_erklaerung = 'Die Datei wurde nur teilweise hochgeladen.'; break;
    case '4': $dateifehler_erklaerung = 'Es wurde keine Datei hochgeladen.'; break;
    }
    if($dateifehler) array_push($fehler, $dateifehler_erklaerung);
    if ($dateigroesse < 1) array_push($fehler, 'Sie haben versucht keine oder eine leere Datei hochzuladen.');
    return (sizeof($fehler)) ? false : $dateiname_temp;
}


if(!empty($_POST['Send']))
{
var_dump (CheckFilename($_FILES['Datei']['name'],$pfad));
    if ($dateiname = CheckFilename($_FILES['Datei']['name'],$pfad))
    {
         var_dump (CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size']));
        if ($dateiname_temp = CheckFile($_FILES['Datei']['tmp_name'],$_FILES['Datei']['error'],$_FILES['Datei']['size']))
        {
            move_uploaded_file($dateiname_temp, $pfad.$dateiname);
            if (filesize($pfad.$dateiname)<1) die ('Sie haben versucht eine leerer Datei hochzuladen!');
            $dateiupload_erfolgreich = true;
        }
        else $fehlermeldungen_ausgeben = true;
    }
    else $fehlermeldungen_ausgeben = true;
}




?>
<html>
<head>
<title>Datei-Upload</title>
</head>
<body>
<?php
if ($dateiupload_erfolgreich)
{
?>Ihre Datei ("<?php echo $dateiname; ?>") wurde hochgeladen. Sie können nun weitere Dateien hochladen.
Sie können die Datei unter <a href="<!--die komplette URL des Ordners, wo das Bild rein kommt--><?php echo $dateiname; ?>"><!--die komplette URL des Ordners, wo das Bild rein kommt--> <?php echo $dateiname; ?></a> erreichen.<?php
}
elseif (!empty($fehler))
{
    ?>
    <br>Es sind folgende Fehler aufgetreten:<br>
    <?php
    foreach ($fehler as $fehlermeldung) {
    echo $fehlermeldung.'<br>';
    }
?>Beseitigen sie wenn möglich den Fehler und versuchen sie es erneut.<?php
}
?>


<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<input name="Datei" type="file"><br>
<input name="Send" type="submit" value="Upload">
</form>
</body>
</html>


Nun ist es aber leider auf 2 MB begrenzt.
Kann man das irgendwie aufteilen und dann automatisch wieder zusammensetzten lassen?