imagejpeg - Problem nach php-update

BoTheK

Mitglied
Hallo,
mein Provider hat von ca. 1 Monat php upgedatet. Seitdem funktioniert die imagejpeg() nicht mehr.
PHP:
.....
$_icon="../galerie/k_447.jpg";
.....
$height = floor(imagesy($src)/ imagesx($src) * $width);
$img = imagecreatetruecolor($width,$height);
imagecopyresampled ($img,$src,0,0,0,0,$width,$height,imagesx($src),imagesy($src) );
 
imagejpeg($img,$_icon,80);
.....
Obwohl die Verzeichniss-Angabe stimmt, und die Attribute des Verzeichnisses auf 777 stehen kommt diese Fehlermeldung:
Warning: imagejpeg(): Unable to access ../galerie/k_447.jpg in /var/www/web307/html/band/galerie_img.php on line 42

Warning: imagejpeg(): Invalid filename '../galerie/k_447.jpg' in /var/www/web307/html/band/galerie_img.php on line 42
Das ganze passiert seit der Umstellung auf PHP 4.4.1 und GDlib 2.0.28. Vorher ging es ohne Murren.
 
Dazu gibt es auf php.net einen Hinweis:

when i tried to call imagejpeg(), width porperly parameters given it displayed
imagejpeg(): Unable to access usr/home/public_html/pic1.jpg

imho if not correctly configured server this function is not allowed to create the file on disk.

the workaround however is if you create the file using some other function, before call imagejpeg(). something like this

Code:
  <?
  $fh=fopen($file_name_dest,'w');
  fclose($fh);
  imagejpeg($dest,$file_name_dest, $quality);  
  ?>


Gruss
Andreas
 
Ist in den Changelogs von PHP 4.4.1 und 5.1.0 mit der folgenden Notiz vermerkt.
Code:
# Added missing safe_mode checks for image* functions and cURL. (Ilia)
# Added missing safe_mode/open_basedir checks for file uploads. (Ilia)
Ein touch() Aufruf fixt das Problem auch mit einer Zeile.

Diese Frage dürfte in der nächsten Zeit noch öfter auftauchen, da diverse Forensoftware davon ebenfalls betroffen ist.
 
Zurück