Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit Uploader

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem mit Uploader

    Hi Leute!

    Ich habe mir für das Uploadscript Jumploader ein nettes Script geschrieben, welches den Upload-Part übernimmt...

    PHP-Code:
    <?php

    session_start
    ();

    include(
    "../gallery/_IMG.php");

    $path '../../images/fotos/';
    $ablauf_datum date('H:i'strtotime('+15 minutes'));

    if (isset(
    $_REQUEST['reset'])) {

        
    $_SESSION['upload_datum'] = 0;
        
    $albumtitel $_REQUEST[title];
        
        echo
    '<meta http-equiv="refresh" content="0; URL=../../index.php?site=bilder">';
    }

    if(
    $_SESSION['upload_datum'] < date('H:i')){
        
    $verzeichnis dir($path);
        while(
    $eintrag=$verzeichnis->read())
        {
          if(
    $eintrag != '.' && $eintrag != '..')
          {
            if(
    is_dir($path.$eintrag))
              {
                
    $ordner[$i] = $eintrag;
                
    $i++;
              }

          }
        }

        
    $titel str_replace(" ""_"$albumtitel);
        
    $titel str_replace("ä""ae"$titel);
        
    $titel str_replace("ö""oe"$titel);
        
    $titel str_replace("ü""ue"$titel);
        
    $titel str_replace("-"""$titel);

        
    $neuer_ordner $i 1;
        
    $neuer_ordner sprintf("%05d"$neuer_ordner);
        
    $bilderordner $path.'P'.$neuer_ordner.'_'.$titel.'';  
        
    mkdir ($bilderordner0777);

        
    $text $albumtitel;
        
    $datei "".$bilderordner."/vz.cfg";
            
    $write fopen ($datei"a+");
            
    fwrite($write$text);
            
    fclose($write);

        
    $_SESSION['bilderordner'] = $bilderordner;
        
    $_SESSION['upload_datum'] = $ablauf_datum;


    }else{

        
    $bilderordner $_SESSION['bilderordner'];

    }



    $file_param_name 'file';
    $file_name $_FILES$file_param_name ][ 'name' ];
    $source_file_path $_FILES$file_param_name ][ 'tmp_name' ];
    $target_file_path $bilderordner"/" $file_name;


    move_uploaded_file$source_file_path$target_file_path );


    $strSource $target_file_path;
    $strDestination $bilderordner"/thumb/" $file_name;

    $oldsize getimagesize ($strSource); 
    $Zheight 150;
    $verhaltnis $oldsize[1] / $Zheight;
    $Zwidth $oldsize[0] / $verhaltnis;

    if (!
    file_exists($strDestination)){
        
    $img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);
    }
    ?>
    Mithilfe einer anderen Datei, welche auch einwandfrei funktioniert, sollen auch direkt die Thumbnails erstellt werden...
    Aber wie immer klappt es net...

    Kann mir da vielleicht einer helfen???

    Es klappt auf jeden fall allesin dem Script, außer dem Part:
    PHP-Code:
    $strSource $target_file_path;
    $strDestination $bilderordner"/thumb/" $file_name;

    $oldsize getimagesize ($strSource); 
    $Zheight 150;
    $verhaltnis $oldsize[1] / $Zheight;
    $Zwidth $oldsize[0] / $verhaltnis;

    if (!
    file_exists($strDestination)){
        
    $img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);

    Wäre euch sehr dankbar!!!

    MfG. DjScaleo




    Edit:
    Mir ist schon einmal aufgefallen, dass ich
    PHP-Code:
    $img = new IMG(); 
    vor dem
    PHP-Code:
    $strSource $target_file_path;
    $strDestination $bilderordner"/thumb/" $file_name;

    $oldsize getimagesize ($strSource); 
    $Zheight 150;
    $verhaltnis $oldsize[1] / $Zheight;
    $Zwidth $oldsize[0] / $verhaltnis;

    if (!
    file_exists($strDestination)){
        
    $img->resize($strSource,$strDestination1$Zwidth$Zheight ,90);

    vergessen hatte,aber das hilft auch nicht weiter...

  • #2
    Was macht den die Funktion resize und bist du sicher das diese geht?
    Was passiert jetzt überhaupt?

    Kommentar


    • #3
      Also es klappt jetzt...

      Ich erkläre auch noch einmal die funktionsweise, falls jemand das Script haben will...

      Durch ein Programm namens JumpLoader wird eine Datei oder einze folge von mehreren Dateien enzelnd an ein Phpscript übergeben. Den COde könnt Ihr hier sehen:
      PHP-Code:
      <?php

      session_start
      ();

      //Uploadscript für Bildergallerien
      //© 2009 DjScaleo
      //Bitte vorher die jeweiligen Parameter für Ordner ändern / anpassen!

      include("_IMG.php");

      $path 'gallery/';
      $ablauf_datum date('H:i'strtotime('+15 minutes'));

      if (isset(
      $_REQUEST['reset'])) {

          
      $_SESSION['upload_datum'] = 0;
          
      $albumtitel $_REQUEST[title];
          
          echo
      '<meta http-equiv="refresh" content="0; URL=bilder.php">';
      }

      if(
      $_SESSION['upload_datum'] < date('H:i')){
          
      $verzeichnis dir($path);
          while(
      $eintrag=$verzeichnis->read())
          {
            if(
      $eintrag != '.' && $eintrag != '..')
            {
              if(
      is_dir($path.$eintrag))
                {
                  
      $ordner[$i] = $eintrag;
                  
      $i++;
                }

            }
          }

          
      $titel str_replace(" ""_"$albumtitel);
          
      $titel str_replace("ä""ae"$titel);
          
      $titel str_replace("ö""oe"$titel);
          
      $titel str_replace("ü""ue"$titel);
          
      $titel str_replace("-"""$titel);

          
      $neuer_ordner $i 1;
          
      $neuer_ordner sprintf("%05d"$neuer_ordner);
          
      $bilderordner $path.'P'.$neuer_ordner.'_'.$titel.'';  
          
      mkdir ($bilderordner0777);

          
      $text $albumtitel;
          
      $datei "".$bilderordner."/vz.cfg";
              
      $write fopen ($datei"a+");
              
      fwrite($write$text);
              
      fclose($write);

          
      $_SESSION['bilderordner'] = $bilderordner;
          
      $_SESSION['upload_datum'] = $ablauf_datum;


      }else{

          
      $bilderordner $_SESSION['bilderordner'];

      }

      $thumb_path $bilderordner"/thumb/";
      mkdir($thumb_path);


      $file_param_name 'file';
      $file_name $_FILES$file_param_name ][ 'name' ];
      $source_file_path $_FILES$file_param_name ][ 'tmp_name' ];
      $target_file_path $bilderordner"/" $file_name;


      move_uploaded_file$source_file_path$target_file_path);

      ?>
      Da meine Gallerie auch kleinere Vorschaubilder für die Fotos erstellt (dies geschieht in einer extra Gallerydatei), habe ich noch folgenden Code hinzugefügt:

      PHP-Code:
      if(move_uploaded_file$source_file_path$target_file_path)){

          
      $img = new IMG();
          
          
      $strSource $target_file_path;
          
      $strDestination $thumb_path.$file_name;

          
      $oldsize getimagesize ($strSource); 
          
      $Zheight 150;
          
      $verhaltnis $oldsize[1] / $Zheight;
          
      $Zwidth $oldsize[0] / $verhaltnis;

          if (!
      file_exists($strDestination)){
              
      $img->resize($strSource$strDestination1$Zwidth$Zheight90);
          }

      somit werden auch sofort die Vorschaubilder beim Uploaden erstellt, sodass ich keine extra Datei mehr aufrufen muss...

      In Zukunft werde ich die Galerie in eine Class stecken. Daher weiß ich noch nicht, ob ich den Code dann ändern muss...
      Falls doch werde ich euch natürlich auf dem laufendem halten...
      ?>

      Kommentar


      • #4
        Also mein Code für die Gallery hat sich noch nicht wirklich geändert, aber ich wollte jetzt, das ein Wasserzeichen eingefügt wird...

        dafür hab ich den Code imunteren Teil etwas geändert:
        PHP-Code:
        if(move_uploaded_file($source_file_path$target_file_path)){

            
        $img = new IMG();
            
            
        $strSource $target_file_path;
            
        $strDestination $_SESSION[thumbs].$file_name;

            
        $imgsize_source getimagesize ($strSource);
            
        $imgsize_waterm getimagesize ($watermark);
            
            
        //Größe des Vorschaubildes berechnen
            
        $Zheight 150;
            
        $verhaltnis $imgsize_source[1] / $Zheight;
            
        $Zwidth $imgsize_source[0] / $verhaltnis;

            
        //Vorschaubild erstellen
            
        if (!file_exists($strDestination)){
                
        $img->resize($strSource$strDestination1$Zwidth$Zheight90);
            }

            
        //Wasserzeichen beim großen Bild
            
        header('Content-type: image/jpeg');
            
        $imgsrc imagecreatefromjpeg($strSource);
            
        $imgzeichen imagecreatefromjpeg($watermark);

            
        $img imagecreatetruecolor($imgsize_waterm[1], $imgsize_waterm[0]);
            
        imagecopy($img$imgsrc0000$width$height);

            
        $start_watermark_x $imgsize_source[1] - $imgsize_waterm[1];
            
        $start_watermark_y $imgsize_source[0] - $imgsize_waterm[0];

            
        imagecopy($img$imgzeichen00$start_watermark_x$start_watermark_y$imgsize_waterm[1], $imgsize_waterm[0]);

            
        imagedestroy($img);



        Doch statt ein Wasserzeichen einzufügen wird das Bild einfach nur geuploadet und ein Vorschuabild erstellt...

        Kann mir mal wieder bitte einer helfen???


        Achso und ich wollte noch wissen, ob vielleicht einer weiß, wie man es macht, dass alles was bei dem Wasserzeichen weiß ist, nicht eingefügt wird, damit man nicht bei einer Rundung im Wasserzeichen ein Rechteck drumherum hat...

        MfG. DjScaleo

        Kommentar


        • #5
          Ich habe jetzt mal festgestellt, dass das Script dass Bild nur erstellt und nicht speichert^^

          Ich such dann mal, wie man ein Bild speichert...

          Kommentar


          • #6
            Hat sich dann jetzt auch wieder erledigt....

            Kommentar


            • #7
              Weisst du, was eine Edit-Funktion ist?

              Kommentar


              • #8
                a) Editieren kann man nur innerhalb von 24 Stunden nach dem erstellen des Beitrages
                b) machmal ist es ganz sinnvoll auch mal einen Neuen Beitrag zu schreiben, da diese auch nicht direkt zusammenhängen
                c) Es gibt auch Leute, die gerne mit sich selbst reden...

                Kommentar


                • #9
                  hi djscaleo
                  Ich habe deinen beitrag über dem jumploader gelesen.
                  Ich bin selber am ausprobieren wie ich mehrere bilder hochladen kann. Bei dem Vorgang sollen die bilder verkleiner werden, ein thumb erstellt werden und ein wasserzeichen eingefügt werden.
                  Ich habe versucht dein script bei mir einzubauen, aber ich habe es nicht hinbekommen.
                  Beim jumploader kommt immer der fehler "Feherhafte Antwort vom Server"
                  Kannst du mir mal das script zuschicken? Habe auch gesehen, das mir da eine Datei fehlt (_IMG.php). Kannst du mir da weiterhelfen?

                  Gruß Chris

                  Kommentar

                  Lädt...
                  X