Nur Probs mit Bilder Upload

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

  • Nur Probs mit Bilder Upload

    Hallo, ich hab mir folgendes Script zusammengebastelt, mit diesem kann man Bilder hochladen, diese werden resized, das ganze 2 mal. Man kann maximal 5 Bilder hochalden.

    PHP-Code:
    <?php

        
    include("config.php");

               if (isset(
    $_FILES['1']['tmp_name']))
            {

    $lauf=0;
    $anzahl=$_POST['anzahl'];
            while (
    $lauf $anzahl)
                {
            
    $lauf=$lauf+1;
                
    $name time();
                
    $name=$name.".jpg";

                        
    move_uploaded_file($_FILES[$lauf]['tmp_name'], "Einsaetze/Fotos/".$name);

    $datei_name=$name;

                    
    //resizen
                        
    $breite_max=500;
                        
    $hoehe_max=600;    
                        
    $size=getimagesize("Einsaetze/Fotos/".$name);
                        
    $breite=$size[0];
                        
    $hoehe=$size[1];
                    if (
    $breite $hoehe) {
                        
    $neueHoehe $hoehe_max;
                        
    $neueBreite $breite*$neueHoehe/$hoehe;
                    } else {
                        
    $neueBreite $breite_max;
                        
    $neueHoehe $hoehe*$neueBreite/$breite;
                    }

                        

                        
    //Bildgröße festgestellt, jetzt resizen

            
    $altesBild=ImageCreateFromJPEG("Einsaetze/Fotos/".$name);
            
    $neuesBild=imageCreateTrueColor($neueBreite,$neueHoehe);
            
    imageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
            
    ImageJPEG($neuesBild"Einsaetze/Fotos/".$name,100);

                    
    //resizen
                        
    $breite_max=120;
                        
    $hoehe_max=170;    
                        
    $size=getimagesize("Einsaetze/Fotos/".$datei_name);
                        
    $breite=$size[0];
                        
    $hoehe=$size[1];
                    if (
    $breite $hoehe) {
                        
    $neueHoehe $hoehe_max;
                        
    $neueBreite $breite*$neueHoehe/$hoehe;
                    } else {
                        
    $neueBreite $breite_max;
                        
    $neueHoehe $hoehe*$neueBreite/$breite;
                    }

                        

                        
    //Bildgröße festgestellt, jetzt resizen

            
    $altesBild=ImageCreateFromJPEG("Einsaetze/Fotos/".$datei_name);
            
    $neuesBild=imageCreateTrueColor($neueBreite,$neueHoehe);
            
    imageCopyResampled($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
            
    ImageJPEG($neuesBild"Einsaetze/Fotos/t".$datei_name,100);

                
    $sql4 "SELECT                                    
                                    id,
                        fotos
                        FROM
                                    einsaetze
                        WHERE
                            id='"
    .$_GET['id']."';";    
                            
        
    $result4 mysql_query($sql4) OR die(mysql_error());            // Holen der alten Informationen
        
    $entray4 mysql_fetch_assoc($result4);

        
    $fotos=explode(",",$entray4['fotos']);
        
    $nummer=0;
        if (isset(
    $_POST['Wasserzeichen']))
            {
                
    $nummer=1;
            }
        
    $fotos[]=$datei_name."!".$nummer;
        
    $fotos=implode(",",$fotos);

                
    mysql_query("UPDATE einsaetze SET ".    // Routine zum Bearbeiten
                            
    "fotos = '".$fotos."'".
                          
    "WHERE id='".$_GET['id']."' ") OR die(mysql_error());
    }
      }            
    echo(
    "<html><head><body>
    <form action='foto_hinzufuegen.php?id="
    .$_GET['id']."' enctype='multipart/form-data' method='post'>
    Wieviele Bilder (Maximal 5): <input type=text name=anzahl value=1><br>
            Bild 1: <input name=\"1\" type='file'><br><br>
    Bild 2: <input name=\"2\" type='file'><br><br>
    Bild 3: <input name=\"3\" type='file'><br><br>
    Bild 4: <input name=\"4\" type='file'><br><br>
    Bild 5: <input name=\"5\" type='file'><br><br>
    <input type=checkbox name=Wasserzeichen checked>Copyright einfügen? <br><br>
    <input type=submit value='hochladen'></body></html>"
    );

    ?>
    Ich hab damit nur Probleme. Mit mehreren Bildern funzt schonmal fast nie, oft kommt einfach "Die seite kann nicht angezeigt werden". Oft ist die Seite anch dem Upload dann einfach Weiß, enthält keine Daten und das Bild ist nicht hochgeladen. Auch bei bildern über 1mb größe gibt es nur Probleme. Ich weiß, es ist viel verlangt, aber kann vielleicht einer der Ahnung hat sich mal den Quelltext ansehen und sagen was vielleicht nicht ganz optimal daran sit? DANKE IM VORRAUS, es ist sehr wichtig!
    Zuletzt geändert von Simon6785; 28.01.2005, 13:52.

  • #2
    UMBRICH DEIN CODE, du bist lange genug dabei

    Solange das nicht passiert, gibt es keine Antwort.
    Obwohl die Lösung sehr einfach ist.

    An Alle: bitte nicht antworten. Danke.

    Kommentar


    • #3
      hm, so ok?

      Kommentar


      • #4
        Ja, Danke.

        Schau dir das mal an: http://de.selfhtml.org/html/referenz...#id_idref_name

        Kommentar


        • #5
          PHP-Code:
          $lauf=$lauf+1;
          //wird zu
          $lauf++; 
          aber das ist ja nicht der rede wert, mehr so stylistic devices

          solange du keine vernünftige fehlerbeschreibung lieferst, wird dir keiner helfen können.

          deswegen musst du schon selbst dein script debuggen.
          d.h.

          die anzahl der dateien auf 1 reduzieren.
          alles veränderungen des bildes ausschalten, testen, nach und nach einschalten, wieder testen, überprüfen, ob alle variablen den wert haben, den sie haben sollen, usw.

          Kommentar


          • #6
            hmpf, das hab ich schon hinter mir... Das Problem, mal gehts PERFEKT und mal funzt garnix. Das bei selfhtml, sorry, aber ic herkenne den Zusammenhang nicht

            Kommentar


            • #7
              Original geschrieben von Simon6785
              Das bei selfhtml, sorry, aber ic herkenne den Zusammenhang nicht
              dann vergleiche <input name=\"1\" mit den Text im Link

              Kommentar


              • #8
                also darf ich meine input felder nicht 1 oder 2 oder so nennen, ist es das? also wenn ich a1 oder so nenne gehts? Wieso funzt es dann manchmal, und wieso manchmal nicht?

                Kommentar


                • #9
                  Original geschrieben von Simon6785
                  also darf ich meine input felder nicht 1 oder 2 oder so nennen, ist es das?
                  Ziel erfasst und feuern.

                  also wenn ich a1 oder so nenne gehts? Wieso funzt es dann manchmal, und wieso manchmal nicht?
                  wenn du die Regel nicht beachtest, gibts immer solche Überraschungen. Welche Browser ist im Einsatz, IE?

                  Kommentar


                  • #10
                    hm, es funzt mit dem Firefox und mit dem IE nicht...

                    Kommentar


                    • #11
                      Original geschrieben von Simon6785
                      hm, es funzt mit dem Firefox und mit dem IE nicht...
                      Na dann, ein Grund mehr den IE als Lieblingbrowser zu nennen

                      Kommentar


                      • #12
                        hm, aber sonst von wegen falsche befehlle benutzt, oder sonst etwas was grundsätzlich nciht funzt seht ihr auch ned, oder? Hab die Dateifelder jetzt a1 usw genannt, bringt auch nix

                        Kommentar


                        • #13
                          immer noch keine lust auf schrittweises debugging?

                          Kommentar


                          • #14
                            machst erst mal nur den Upload fertig, dann das Imageresize, nicht beides auf einmal, dann weißt du nicht, woran es liegt wenn du nur eine weiße Seite bekommst.

                            Nun, was und wie hast du geändert?
                            - Form zeigen
                            - Uploaded-File-Behandlung zeigen
                            - schon mal print_r($_FILES) angeschaut?

                            Kommentar


                            • #15
                              nunja, wie gesagt, ich hab das schonmal alles debuggt, und es lief auch schonmal alles. Nur halt das er hin und wieder nachher einfach sagt "Die Seite kann nicht angezeigt werden" obwohl die Sseite existiert, oder halt einfach mit ein paar bildern probs hat, die er einfach nicht bearbeiten will, und ich dachte ihr findet etwas, was einfach so nicht geht...

                              Kommentar

                              Lädt...
                              X