ImageCreateFromJpeg vs. Safe Mode

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

  • ImageCreateFromJpeg vs. Safe Mode

    Guten Aaaabend,

    vielleicht ist es heute einfach zu spät für mich, aber ich konnte mir nun keine Lösung für mein Problemchen selbst zusammendichten oder ergoogeln.

    Ich hab mir ein kleines Script für einen fancy Thumbnail Generator geschrieben. Funktioniert auch einwandfrei, wenn man es zusammen mit dem Upload-Trallala anwendet, möchte ich es aber auf Bilder anwenden, die zuvor hochgeladen wurden, meldet's mir UID/GID Fehler. Logisch, die Bilder wurden ja auch per FTP auf dem Server gespeichert (nachdem das erste mal ein Thumb erstellt wird), was eine andere UID und GID hat als PHP's imagecreatefromjpeg().

    Hab's versucht mit Ausgabe Puffer zu umgehen, funktioniert ja auch mit imagejpeg() - nur passt das imagecopyresampled() nicht, "not a valid Image resource".

    Kann mir jemand weiter helfen? So schwer kann's ja nicht sein. Hier ein Auszug:

    PHP-Code:
    //...

    $image imagecreatefromjpeg($dir.$i['g_file']);
        
    $thumb imagecreatetruecolor(THUMBSIZE,THUMBSIZE);
    imagecopyresampled($thumb,$image00THUMBSIZE,THUMBSIZE$th[0], $th[0], $i['g_width'], $i['g_height'] );

    ob_start();
        
    if( 
    function_exists('imagejpeg') ){
        
    imagejpeg($thumb);
    } elseif( 
    function_exists('imagepng') ) {
        
    imagepng($thumb);
    } else {
        
    imagegif($thumb);
    }
            
    $image_buffer ob_get_contents();
    ob_end_clean();
        
    imagedestroy($thumb);
        
    $fthumb tmpfile();
    fwrite($fthumb$image_buffer);
    unset( 
    $image_buffer );
    rewind($fthumb);
        
    if( 
    $ftp->connect() ){
                
            
    //Blabla Thumb speichern...    
        
    $ftp->close();

    }
        
    fclose($fthumb);

    //usw usf.... 
    Die Fehlermeldung:
    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: SAFE MODE Restriction in effect. The script whose uid/gid is 10001/2524 is not allowed to access /srv/www/vhosts/montareno.com/httpdocs/img/intern/0811/22_1112_12832345.jpg owned by uid/gid 10021/2523 in /srv/www/vhosts/montareno.com/httpdocs/cms/gallery/manage/changeThumb.php on line 37


    Liebe Grüße und vielen Dank!
    Maya
    Zuletzt geändert von Amaya; 13.11.2008, 03:01.

  • #2
    Der Webserver/PHP will Dateien lesen, die ihm nicht gehören. Das ist im Safe-Mode verboten.
    Mit den Image-Funktionen hat das gar nichts zu tun. Du würdest bei fopen() die selbe Fehlermeldung erhalten.
    Sorge dafür, dass die Dateien und der Webserverprozess die selbe UID/GID haben oder der Safe-Mode abgeschaltet wird.

    Kommentar


    • #3
      Na der Grund für den Fehler war mir ja klar. Aber es hätte ja sein können, dass es da einen Lösung gibt, ohne an Gruppenzugehörigkeiten zu drehen und ohne Safe Mode zu deaktivieren. Bei meinen vorherigen Webprovidern hätte ich zB nicht die Möglichkeit dazu gehabt (Was für Semi-Checker wie mich vllt auch besser so ist). Hm, mit imagejpeg() stand ich ja schon vor den selben Fehlermeldungen, bis ich auf die output buffer Variante kam.

      Na gut. Nun hab ich dem FTP User eben noch die "PHP Gruppe" zugeteilt, nun funktioniert es.

      Lieben Dank für die Antwort und einen schönen Donnerstag!
      Maya

      Kommentar

      Lädt...
      X