Warning: imagejpeg(): Unable to open

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

  • Warning: imagejpeg(): Unable to open

    Ich hab einen Uploader, ich möchte gerne, dass wenn der ein Bild Uploaded es in 333x333px abspeichert wird. Es soll, falls das zu uploadende Bild nicht 333x333px hat, einen Ausschnitt mit dieser Größe ausschneiden, damit das Bild proportional richtig, und ohne Trauerränder, dargestellt wird. Da meine eigenen Versuche nicht zum gewünsten Erfolg führten, hab ich mal was gesucht und auf http://de3.php.net was gefunden.
    Die Bilder werden in die erste Ordnerstruktur hochgeladen, da wo auch das Skript drin liegt.

    Einen Thumb Ordner gibt es schon, in dem ich Bilder 111x111 speichere -funktioniert- (Als Randnotiz, weil ich nicht weiss wofür$pictype steht).
    Ich bekomme, wenn ich das de3.php skript ausführe folgende Fehlermeltung:
    Warning: imagejpeg(): Unable to open 'http://www.xxxxxxx.de/testarea/' for writing in /www/htdocs/xxxxxxxx/testarea/index.php on line 1849
    Ich hab erst relative Pfade ausprobiert, dann absolute ... mir sind die Ideen ausgegangen?!
    Ich weiss auch nicht, wofür das $pictype gut sein soll.

    Ich würde mich freuen, wenn mir jemand weiterhelfen könnte!

    Hier das Skript:

    PHP-Code:
    /*
    For an internet photoalbum I was looking for a script which I could simply drop in a directory with images and which would do the rest.
    Therefor I am using the following resize script now. I have made the little thumb-part because I want to have all the same size thumbnails, but with as less as possible distortion. Therefor, images with other dimensions are resized, but also cut off a little.

    Als $pictype = thumb, the extra dimension calculations are used
    $width and $height are the new dimensions of $filename, the image
    $dest is the directory where the new image must be copied in.

    The script:
    */

    // Resize function

    //$filename="$file_name";
    $dest="http://www.fxae.de/testarea/";
    $width="333px";
    $height="333px";
    $pictype="thumb";




    function 
    resize($file_name$dest$width$height$pictype)
    {
       
    $format strtolower(substr(strrchr($file_name,"."),1));
       switch(
    $format)
       {
           case 
    'gif' :
               
    $type ="gif";
               
    $img imagecreatefromgif($file_name);
               break;
           case 
    'png' :
               
    $type ="png";
               
    $img imagecreatefrompng($file_name);
               break;
           case 
    'jpg' :
               
    $type ="jpg";
               
    $img imagecreatefromjpeg($file_name);
               break;
           case 
    'jpeg' :
               
    $type ="jpg";
               
    $img imagecreatefromjpeg($file_name);
               break;
           default :
               die (
    "ERROR; UNSUPPORTED IMAGE TYPE");
               break;
       }
      
       list(
    $org_width$org_height) = getimagesize($file_name);
       
    $xoffset 0;
       
    $yoffset 0;
       if (
    $pictype == "thumb"// To minimize destortion
       
    {
           if (
    $org_width $width $org_height$height)
           {
               
    $xtmp $org_width;
               
    $xratio 1-((($org_width/$org_height)-($width/$height))/2);
               
    $org_width $org_width $xratio;
               
    $xoffset = ($xtmp $org_width)/2;
           }
           elseif (
    $org_height$height $org_width $width)
           {
               
    $ytmp $org_height;
               
    $yratio 1-((($width/$height)-($org_width/$org_height))/2);
               
    $org_height $org_height $yratio;
               
    $yoffset = ($ytmp $org_height)/2;
           }
       }

       
    $img_n=imagecreatetruecolor ($width$height);   
       
    imagecopyresampled($img_n$img00$xoffset$yoffset$width$height$org_width$org_height);

       if(
    $type=="gif")
       {
           
    imagegif($img_n$dest);
       }
       elseif(
    $type=="jpg")
       {
           
    imagejpeg($img_n$dest);
       }
       elseif(
    $type=="png")
       {
           
    imagepng($img_n$dest);
       }
       elseif(
    $type=="bmp")
       {
           
    imagewbmp($img_n$dest);
       }
       Return 
    true;
       
    chmod ("/.$file_name"0777);
    }
    resize($file_name$dest$width$height$pictype); 
    Wer Rechtschreibfehler findet, darf sie behalten

  • #2
    Erst einmal wäre es nett, wenn du unsere Regeln liest - und diese umsetzt. Ich scrolle über 2 TFT Monitore mit 1280x1024er Auflösung. ...

    Ansonsten sei dir gesagt: Du kannst über das http-Protokoll nicht Dateien schreiben. Versuchs mit Pfaden auf deinem Filesystem. Und dann gibst du uns nochmal eine Fehlermeldung, wenn eine kommt
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      @Bildschirmbreite: Sorry, wie ich das geschaftt habe, weiss ich garnicht.

      Die Fehlermeldung bleibt leider bestehen:
      Warning: imagejpeg(): Unable to open '/www/htdocs/w005f801/testarea/' for writing in /www/htdocs/w005f801/testarea/index.php on line 1849

      Mit nem releativen Pfad:
      Warning: imagejpeg(): Unable to open './' for writing in /www/htdocs/w005f801/testarea/index.php on line 1849
      Wer Rechtschreibfehler findet, darf sie behalten

      Kommentar


      • #4
        /www/htdocs/w005f801/testarea/ ist kein gültiger Dateiname

        --------

        Auch im anderen Form beachtest du die Regeln nicht...warum?
        Wir werden alle sterben

        Kommentar

        Lädt...
        X