Ankündigung

Einklappen
Keine Ankündigung bisher.

Image Upload

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Image Upload

    Hallo,

    Ich bin gerade dabei einen Image-uploader zu bauen,
    habe nun schon zwei funktionierende geschafft mit Hilfe von Tutorials und ein wenig herumprobieren.

    Ich hätte es gerne so das mir zwei Bilder erstellt werden eines in Original Größe und ein kleines für Previews.

    Das Problem ist nur,
    bei dem ersten uploader kann ich mehrere Bilder hochladen aber es erstellt mir nur die Bilder in Original Größe.

    bei dem zweiten kann ich nur ein Bild hochladen aber es erstellt mir 2 Bilder mit dem selben Namen. Eines in Original Größe in den Ordner Images und ein kleines in den Ordner thumbs.

    Nun habe ich versucht es zu kombinieren, sieht zurzeit so aus:

    fshow.php:
    PHP-Code:
    <!DOCTYPE html>
    <
    html>
        <
    head>
            <
    meta charset="UTF-8" />
            <
    title>FileUpload</title>
            <
    link rel="stylesheet" href="ostyle.css" type="text/css" />
        </
    head>
        <
    body>
            <
    form action="fupload.php" method="post" enctype="multipart/form-data">
                <
    input type="file" name="files[]" multiple />
                <
    input type="submit" value="Upload" />
            </
    form>
        </
    body>
    </
    html
    fupload.php:
    PHP-Code:
    <?php

    if(!empty($_FILES['files']['name'][0])) {
        
        
    $files $_FILES['files'];
        
        
    $uploaded = array();
        
    $failed = array();
        
        
    $allowed = array('jpg''png');
        
        foreach(
    $files['name'] as $position => $file_name) {
            
            
    $file_tmp $files['tmp_name'][$position];
            
    $file_size $files['size'][$position];
            
    $file_error $files['error'][$position];
            
            
    $file_ext explode('.'$file_name);
            
    $file_ext strtolower(end($file_ext));
            
            if(
    in_array($file_ext$allowed)) {
                
                if(
    $file_error === 0) {
                    
                    if(
    $file_size <= 2097152) {
                        
                        
    $file_name_new uniqid(''true) . '.' $file_ext;
                        
    $file_destination '../gallery/images/' $file_name_new;
                        
                        if(
    move_uploaded_file($file_tmp$file_destination)) {
                            
    $uploaded[$position] = $file_destination;
                            
                            
                            
    $destpath "../gallery/images/";
                            
                            while(list(
    $key,$value) = each($_FILES["files"]["name"])) {
                                
                            if(!empty(
    $value))
                            {
                            if ((
    $_FILES["files"]["type"][$key] == "image/gif")
                            || (
    $_FILES["files"]["type"][$key] == "image/jpeg")
                            || (
    $_FILES["files"]["type"][$key] == "image/pjpeg")
                            || (
    $_FILES["files"]["type"][$key] == "image/png")
                            && (
    $_FILES["files"]["size"][$key] < 2000000))
                                {
                            
                            
                            
    //thumbnail creation start//
                            
    $tsrc="../gallery/images/thumbs/".$file_name_new;   // Path where thumb nail image will be stored
                            
                            
    $n_width=327;          // Fix the width of the thumb nail images
                            
    $n_height=245;         // Fix the height of the thumb nail imaage
                            
                            // Starting of GIF thumb nail creation //
                            
    $add=$destpath $file_name_new
                            if(
    $_FILES["files"]["type"][$key]=="image/gif"){
                            
                            
    $im=ImageCreateFromGIF($add);
                            
    $width=ImageSx($im);              // Original picture width is stored
                            
    $height=ImageSy($im);             // Original picture height is stored
                            
    $newimage=imagecreatetruecolor($n_width,$n_height);
                            
    imageCopyResized($newimage,$im,0,0,0,0,$n_width,$n_height,$width,$height);
                            if (
    function_exists("imagegif")) {
                            
    Header("Content-type: image/gif");
                            
    ImageGIF($newimage,$tsrc);
                            }
                            if (
    function_exists("imagejpeg")) {
                            
    Header("Content-type: image/jpeg");
                            
    ImageJPEG($newimage,$tsrc);
                            }
                                }
                            
                            
    ////////// end of gif file thumb nail creation//////////
                            
    $n_width=327;          // Fix the width of the thumb nail images
                            
    $n_height=245;         // Fix the height of the thumb nail imaage
                            
                            ////////////// starting of JPG thumb nail creation//////////
                            
    if($_FILES["files"]["type"][$key]=="image/jpeg"){
                                echo 
    $_FILES["files"]["name"][$key]."<br>";
                            
    $im=ImageCreateFromJPEG($add); 
                            
    $width=ImageSx($im);              // Original picture width is stored
                            
    $height=ImageSy($im);             // Original picture height is stored
                            
    $newimage=imagecreatetruecolor($n_width,$n_height);                 
                            
    imageCopyResized($newimage,$im,0,0,0,0,$n_width,$n_height,$width,$height);
                            
    ImageJpeg($newimage,$tsrc);
                            
    chmod("$tsrc",0777);
                            }
                            
    ////////// end of jpg file thumb nail creation//////////
                            ////////////////  Start of png thumb nail creation //////////
                            
    if($_FILES["files"]["type"][$key]=="image/png"){
                            
                            
    $im=ImageCreateFromPNG($add);
                            
    $width=ImageSx($im);              // Original picture width is stored
                            
    $height=ImageSy($im);             // Original picture height is stored
                            
    $newimage=imagecreatetruecolor($n_width,$n_height);
                            
    imageCopyResized($newimage,$im,0,0,0,0,$n_width,$n_height,$width,$height);
                            if (
    function_exists("imagepng")) {
                            
                            
    ImagePNG($newimage,$tsrc);
                            }
                            if (
    function_exists("imagejpeg")) {
                            
                            
    ImageJPEG($newimage,$tsrc);
                            }
                                }
                            
                            
    // thumbnail creation end---
                                
    }
                            else{echo 
    "error in upload";}
                            }
                            }
                            echo 
    "thumbnails stored";
                            
                            
                        } else {
                            
    $failed[$position] = "[{$file_name}] failed to upload.";
                        }
                        
                    } else {
                        
    $failed[$position] = "[{$file_name}] is too large.";
                    }
                    
                } else {
                    
    $failed[$position] = "[{$file_name}] errored with code {$file_error}.";
                }
                
            } else {
                
    $failed[$position] = "[{$file_name}] file extension '{$file_ext}' is not allowed.";
            }
            
        }
        
        if(!empty(
    $uploaded)) {
            
    print_r($uploaded);
        }
        
        if(!empty(
    $failed)) {
            
    print_r($failed);
        }
        
    }
    Soweit funktioniert es auch wie es soll mit einer Ausnahme, wenn ich ein Bild auswähle lädt es hoch wie es soll und erstellt mir ein großes bild im Image Ordner und ein kleines im thumbs Ordner,

    wenn ich aber mehrere Bilder auswähle dann lädt es zwar alle großen Bilder in den Image Ordner aber nur von einen Bild wird ein kleines in den thumbs Ordner erstellt.

    Bin noch recht neu was php angeht. Wäre schön wenn mir jemand ein paar Tipps geben könnte wo da der Fehler begraben liegt.

    Lg Shadian


  • #2
    Was wird denn nach dem Upload ausgegeben? Scheint mir ziemlich wirr zusammengeworfen, vorallem die header() dort mittendrin, hatte irgendwo noch ein exit erwartet aber hab auf anhieb keins gefunden, die grauenhafte Einrückung erleichtert das lesen auch nicht grade...
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Wenn ich ein Bild auswähle:

      Code:
      10658619_747263918668050_4163500122115455350_o.jpg
      thumbnails storedArray ( [0] => ../gallery/images/543bae2a5738a8.13034220.jpg )
      Wenn ich mehrere Bilder auswähle:

      Code:
      984209_748745111837915_3572304446043294652_n.jpg
      996542_632181480148865_1903595459_n.jpg
      thumbnails storedthumbnails storedthumbnails storedArray ( [0] => ../gallery/images/543bae808364b5.32476709.jpg [1] => ../gallery/images/543bae80890241.12142963.jpg [2] => ../gallery/images/543bae80890240.60337193.jpg )

      Kommentar


      • #4
        PHP-Code:
         $files $_FILES['files']; 
          foreach(
        $files['name'] as $position => $file_name) { 
              while(list(
        $key,$value) = each($_FILES["files"]["name"])) {
             }
          } 
        kommt mir sonderbar vor.

        Kommentar

        Lädt...
        X