thumbnail script generiert mit owner="nobody"

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

  • thumbnail script generiert mit owner="nobody"

    Hallo,

    ich habe ein dickes Problem. Nachfolgendes Script lief einwandfrei auf zwei Servern. Nun wurde erneut gewechselt und das script macht Probleme. Der Hoster sagt mir, es liegt nicht am Server sondern am Script. Also... habt Ihr ne Idee, was es sein könnte?

    Das Script:
    PHP-Code:
         error_reporting(0);

         
    $types = array (=> "gif""jpeg""png""swf""psd""wbmp");

         
    define ('cache''cache/');

         
    $cachedir substr($HTTP_GET_VARS['image'],0,strrpos($HTTP_GET_VARS['image'],'/') + 1).cache;
         !
    is_dir ($cachedir)
              ? 
    mkdir ($cachedir0777)
              : 
    system ("chmod 0777 ".$cachedir);

         (!isset (
    $x) || ereg ('^[0-9]{1,}$'$x$regs)) &&
         (!isset (
    $y) || ereg ('^[0-9]{1,}$'$y$regs)) &&
         (isset (
    $x) || isset ($y))
              ? 
    true
              
    : DIE ('Fehlende(r) oder ungültige(r) Größenparameter!');

         !isset (
    $resize) || !ereg ('^[0|1]$'$resize$regs)
              ? 
    $resize 0
              
    $resize;

         !isset (
    $aspectratio) || !ereg ('^[0|1]$'$aspectratio$regs)
              ? isset (
    $x) && isset ($y)
                     ? 
    $aspectratio 1
                     
    $aspectratio 0
              
    $aspectratio;

         !isset (
    $image)
              ? DIE (
    'Es wurde kein Bild angegeben!')
              : !
    file_exists($image)
                   ? DIE (
    'Die angegebene Datei konnte nicht auf dem Server gefunden werden!')
                   : 
    false;

         
    $imagedata getimagesize($image);

         !
    $imagedata[2] || $imagedata[2] == || $imagedata[2] == 5
              
    ? DIE ('Bei der angegebenen Datei handelt es sich nicht um ein Bild!')
              : 
    false;

         eval (
    '
         if (!(imagetypes() & IMG_'
    .strtoupper($types[$imagedata[2]]).')) {
              DIE ("Das ".strtoupper($types[$imagedata[2]])."-Format wird nicht unterstützt!");
         }
         '
    );

         !isset (
    $x)
              ? 
    $x floor ($y $imagedata[0] / $imagedata[1])
              : 
    $x;

         !isset (
    $y)
              ? 
    $y floor ($x $imagedata[1] / $imagedata[0])
              : 
    $y;

         if (
    $aspectratio && isset ($HTTP_GET_VARS['x']) && isset ($HTTP_GET_VARS['y'])) {
              if (
    $imagedata[0] > $imagedata[1]) {
                   
    $y floor ($x $imagedata[1] / $imagedata[0]);
              } else if (
    $imagedata[1] > $imagedata[0]) {
                   
    $x floor ($y $imagedata[0] / $imagedata[1]);
              }
         }

         
    $thumbfile substr ($HTTP_GET_VARS['image'], strrpos ($HTTP_GET_VARS['image'], '/') + 1);
         if (
    file_exists ($cachedir.$thumbfile)) {
              
    $thumbdata getimagesize ($cachedir.$thumbfile);
              
    $thumbdata[0] == $x && $thumbdata[1] == $y
                   
    $iscached true
                   
    $iscached false;
         } else {
              
    $iscached false;
         }

         if (!
    $iscached) {
              (
    $imagedata[0] > $x || $imagedata[1] > $y) ||
              ((
    $imagedata[0] < $x || $imagedata[1] < $y) && $resize)
                   ? 
    $makethumb true
                   
    $makethumb false;
         } else {
              
    $makethumb false;
         }

         
    Header ("Content-Type: image/".$types[$imagedata[2]]);

         if (
    $makethumb) {
              
    $image call_user_func("imagecreatefrom".$types[$imagedata[2]], $image);
              
    $thumb imagecreatetruecolor ($x$y);
              
    imagecopyresampled ($thumb$image0000$x$y$imagedata[0], $imagedata[1]);
              
    call_user_func("image".$types[$imagedata[2]], $thumb$cachedir.$thumbfile);
              
    imagedestroy ($image);
              
    imagedestroy ($thumb);
              
    $image $cachedir.$thumbfile;
         } else {
              
    $iscached
                   
    $image $cachedir.$thumbfile
                   
    $image $HTTP_GET_VARS['image'];
         }
         
    $image fopen ($image"rb");
         
    fpassthru ($image);
         
    fclose ($image); 
    Das Problem:
    Die Thumbnails, die im cache Verzeichnis generiert werden, haben den owner "nobody". Daher kann ich die Bilder weder öffnen noch löschen noch sonst was....

    Auf dem Server ist php version 4.3.1.1

    Habt Ihr ne Idee, welche Funktion den Fehler verursachen könnte?

    mfg
    Helmi

  • #2
    ich glaub gewinnbringender ist das skript, das die thumbs im cache dir ablegt.

    du kannst aber in der zwischenzeit mal folgendes versuchen:
    cache ordner löschen und dann "per hand" neu anlegen.

    Kommentar


    • #3
      ich glaub gewinnbringender ist das skript, das die thumbs im cache dir ablegt.
      Was meinst Du damit?

      du kannst aber in der zwischenzeit mal folgendes versuchen:
      cache ordner löschen und dann "per hand" neu anlegen.
      Habe ich schon versucht, kein Erfolg.

      Kann es sein, dass der php safe-mode die Ursache ist, der nämlich ON ist?

      Kommentar

      Lädt...
      X