Функция Imagepng не совсем работает

Я получаю следующее сообщение об ошибке, когда из сценария, который я использую для создания миниатюры

Предупреждение: imagepng () [function.imagepng]: невозможно открыть «Manga / One Piece / asd / Thumbnail» для записи: находится ли каталог в /homez.380/mangasma/www/mangaUpload.php в строке 220

это строка, вызывающая ошибку

imagepng($dst_img,$dir); 

и вот метод

 function createthumb($source,$output,$new_w,$new_h) { $dirpos=strrpos($output,"/"); $dir= substr($output,0,$dirpos); if(!file_exists($dir)) { mkdir($dir); chmod($dir,0775); }else { chmod($dir,0775); } $ext=explode(".",$source); $ext=$ext[count($ext)-1]; $ext=strtolower($ext); if (preg_match("/jpg|jpeg/",$ext)){$src_img=imagecreatefromjpeg($source);} if (preg_match("/png/",$ext)){$src_img=imagecreatefrompng($source);} if (preg_match("/gif/",$ext)){$src_img=imagecreatefromgif($source);} echo $src_img; $old_x=imageSX($src_img); $old_y=imageSY($src_img); if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; } $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); if (preg_match("/png/",$ext)) { imagepng($dst_img,$dir); } elseif (preg_match("/gif/",$ext)) { imagegif($dst_img,$dir); } elseif (preg_match("/jpg|jpeg/",$ext)) { imagejpeg($dst_img,$dir); } imagedestroy($dst_img); imagedestroy($src_img); return array("w"=>$thumb_w,"h"=>$thumb_h); }