Bildgröße ändern, Fehler bei imagecopyresized()

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

  • #16
    hallo
    ich bins mal wieder!!!

    also den fehler hatte ich direkt gefunden.

    nun ist das problem es wird immer die datei überschrieben und sie wird mit rechten angelegt so das ich diese nicht über ftp löschen könnte.

    wenn ich das bild anzeigen lasse kommt folgendes:



    Was mach ich dort genau falsch???

    PHP-Code:
    $sql "INSERT INTO presse (datum, zeitung, header)";
    $sql .= " VALUES ('$datum', '$zeitung', '$header')";
    mysql_query($sql);

    $sql mysql_query("SELECT * FROM presse WHERE datum = '$datum' AND zeitung = '$zeitung' AND header = '$header'");
    if(
    $out mysql_fetch_array($sql))
    {
    $presseid $out["id"];
    }
    /*Eintragen in die Datenbank*/

    /*Datei Upload */

    $ziel "images/presse/";

    /*getimagesize*/
    $getimagesize getimagesize($bild);
    $h $getimagesize[0];
    $b $getimagesize[1];
    $t $getimagesize[2];

    if(
    $t == 1)
    {
    $end ".gif";
    }
    if(
    $t == 2)
    {
    $end ".jpg";
    }
    if(
    $t == 3)
    {
    $end ".png";
    }

    $ziel .= $presseid .$end;
    /*getimagesize ENDE*/

    move_uploaded_file($bild$ziel);



    $bn "600";
    if(
    $b >= $bn)
    {
    $v $b $h;
    $hn round($bn $v);

    $im ImageCreate ($bn$hn);

    if(
    $t == 1)
    {
    Imagegif ($im$ziel);
    }
    if(
    $t == 2)
    {
    Imagejpeg ($im$ziel);
    }
    if(
    $t == 3)
    {
    ImagePNG ($im$ziel);
    }


    }
    else
    {
    $hn $h;

    Gruss Mathis

    Kommentar


    • #17
      works as designed ?!

      du erzeugst ein neues bild (=> imagecreate()) und speicherst dieses auf der platte ... da du nix anderes machst, ist es schwarz (default-einstellung) ...
      Kissolino.com

      Kommentar


      • #18
        PHP-Code:
        $bn "600";
        if(
        $b >= $bn)
        {
        $v $b $h;
        $hn round($bn $v);

        $im ImageCreate ($bn$hn);

        imagecopy($ziel,$im,0,0,0,0,$bn,$hn,$b,$h);

        if(
        $t == 1)
        {
        Imagegif ($im$ziel);
        }
        if(
        $t == 2)
        {
        Imagejpeg ($im$ziel);
        }
        if(
        $t == 3)
        {
        ImagePNG ($im$ziel);
        }



        ich habe das nun so gemacht, also das imagecopy() eingefügt.

        also er erstellt auf jeden fall schonmal ne neues bild und überschreibt es nicht wie vorher.

        aber nun kommt dieser fehler:
        Warning: Wrong parameter count for imagecopy() in /srv/www/htdocs/web12/html/login/presseadd.inc.php on line 85

        Kommentar


        • #19
          zu viel/wenig übergebene parameter. guckst du manual, wie viele benötigt werden.

          Kommentar


          • #20
            es tritt immer noch dieser fehler auf:

            Warning: imagecopy(): supplied argument is not a valid Image resource in /srv/www/htdocs/web12/html/login/presseadd.inc.php on line 85
            PHP-Code:
            if($b >= $bn)
            {
            $v $b $h;
            $hn round($bn $v);

            $im ImageCreate ($bn$hn);

            imagecopy($im,$ziel,0,0,0,0,$b,$h);

            if(
            $t == 1)
            {
            Imagegif ($im$ziel);
            }
            if(
            $t == 2)
            {
            Imagejpeg ($im$ziel);
            }
            if(
            $t == 3)
            {
            ImagePNG ($im$ziel);
            }



            habe nun die vorletzten beiten parameter bei imagecopy() herausgenommen.

            oder benutze ich gar die falschen befehle?

            Kommentar


            • #21
              wi du die fkt. richtig benutzt steht im manual.

              Kommentar


              • #22
                ihr lest auch in der gleichen manual wie nach oder?
                http://de2.php.net/manual/de/function.imagecopy.php

                bekomm ich noch nen kleinen tipp?

                mir fällt irgendwie nichts mehr ein was ich noch ausprobieren könnte der zeigt immer den gleichen fehler an.

                Kommentar


                • #23
                  PHP.net:
                  Kopiert einen Teil des Quellbildes src_im nach dst_im.
                  ja, aber wir lesen!!!

                  Kommentar


                  • #24
                    dies habe ich auch aus probiert also
                    imagecopy($ziel, $im, 0, 0, 0, 0, $b, $h);

                    dennoch wird der fehler angezeigt.
                    Die umstelltung war einer der ersten änderungen die ich vornahm, daher weiß ich ja nicht was es sein könnte.

                    Kommentar


                    • #25
                      und was ist $ziel? wo wird es definiert?

                      Kommentar


                      • #26
                        ziel wir recht am anfang definiert:
                        PHP-Code:
                        $error "0";
                        $error_log "<span class=\"text10pt\"><B>Folgende(r) Fehler sind/ist aufgetreten:</b><BR>";

                        $datum $_POST["datum"];
                        $zeitung $_POST["zeitung"];
                        $header $_POST["header"];
                        $bild $_FILES["bild"]["tmp_name"];

                        if(
                        $bild != null)
                        {
                        /*Prüfung der Einträge*/
                        if(!$datum or $datum == "YYYY-MM-DD")
                        {
                        $error 1;
                        $error_log .= "<LI>Es wurde keine Datum angegeben.<br>";
                        }
                        if(!
                        $zeitung)
                        {
                        $error 1;
                        $error_log .= "<LI>Es wurde keine Zeitung angegeben.<br>";
                        }
                        if(!
                        $header)
                        {
                        $error 1;
                        $error_log .= "<LI>Es wurde kein Header angegeben.<br>";
                        }
                        /*Prüfung der Einträge ENDE*/

                        /*Eintragen in die Datenbank*/
                        if(!$error)
                        {
                        $sql "INSERT INTO presse (datum, zeitung, header)";
                        $sql .= " VALUES ('$datum', '$zeitung', '$header')";
                        mysql_query($sql);

                        $sql mysql_query("SELECT * FROM presse WHERE datum = '$datum' AND zeitung = '$zeitung' AND header = '$header'");
                        if(
                        $out mysql_fetch_array($sql))
                        {
                        $presseid $out["id"];
                        }
                        /*Eintragen in die Datenbank*/

                        /*Datei Upload */



                        /*getimagesize*/
                        $getimagesize getimagesize($bild);
                        $h $getimagesize[0];
                        $b $getimagesize[1];
                        $t $getimagesize[2];

                        if(
                        $t == 1)
                        {
                        $end ".gif";
                        }
                        if(
                        $t == 2)
                        {
                        $end ".jpg";
                        }
                        if(
                        $t == 3)
                        {
                        $end ".png";
                        }

                        $ziel .= $presseid .$end;
                        /*getimagesize ENDE*/

                        move_uploaded_file($bild$ziel);



                        $bn "600";
                        if(
                        $b >= $bn)
                        {
                        $v $b $h;
                        $hn round($bn $v);

                        $im ImageCreate ($bn$hn);

                        imagecopy($ziel$im0000$b$h);

                        if(
                        $t == 1)
                        {
                        Imagegif ($im$ziel);
                        }
                        if(
                        $t == 2)
                        {
                        Imagejpeg ($im$ziel);
                        }
                        if(
                        $t == 3)
                        {
                        ImagePNG ($im$ziel);
                        }


                        }
                        else
                        {
                        $hn $h;
                        }



                        //wenn kein error ENDE

                        if($error == 1)
                        {
                        $sql "DELETE FROM presse WHERE id = '$presseid' LIMIT 1";
                        mysql_query($sql);

                        unlink($ziel);
                        }

                        $imgtag "width=\"".$bn."\" height=\"".$hn."\"";

                        $sql "UPDATE presse SET bild = '$ziel', imgtag = '$imgtag' WHERE id = '$presseid' LIMIT 1";
                        mysql_query($sql);
                        $ziel "images/presse/";

                        } else {
                        echo(
                        "<BR>Die Datei wurde nicht hochgeladen. Vorgang abgebrochen, da keine
                        Datei angegeben wurde!"
                        );

                        das ist der gesamte quellecode.

                        $ziel wird am anfang definiert erst mit dem ordner:
                        $ziel = "images/presse/";

                        dann nachher
                        $ziel .= $presseid .$end;


                        wobei wenn $bn breiter als 600 ist wird das bild verkleinert.
                        und bei der verkleinerung ist der fehler.

                        Kommentar


                        • #27
                          wenn man mal genau hinsieht:

                          int imagecopy ( resource dst_im, resource src_im,

                          Kommentar


                          • #28
                            es sind doch beidemale resourcen!!!
                            einmal $ziel dort ist es ja das bild welches hochgeladen wurde.

                            und einmal das bild welches erstellt wurde.

                            oder zählt das imagecreate nicht als resource???

                            Kommentar


                            • #29
                              es sind doch beidemale resourcen!!!
                              sehe ich anders. (oder ich vertue mich, was aber eher selten der fall ist.

                              du hast doch kürzlich erst gesagt, dass Ziel einen String enthält!

                              $ziel wird am anfang definiert erst mit dem ordner:
                              $ziel = "images/presse/";

                              dann nachher
                              $ziel .= $presseid .$end;

                              Kommentar


                              • #30
                                also da dort dann nach her bei $ziel ja eigentlich das steht: images/presse/14.jpg

                                ist das doch ne resource oder täuche ich mich?

                                Kommentar

                                Lädt...
                                X