[eluser]slowgary[/eluser]
Just to nitpick one more time, I think $config['new_image'] is unnecessary as you're manipulating the existing image. Same with 'image_library', 'create_thumb', 'maintain_ratio' since the values you've specified are already the default value.
You may be able to omit 'height' and 'master_dim' as well since you're not cropping. Basically you're telling it to always resize the width to 478, and let the height be what it needs to be to respect the original aspect ratio. But since 'maintain_ratio' is TRUE by default, all you really need to do is specify your preferred width (at least I think that should work).
So as far as I can tell, the following code would do the same as what you have, but with a few less lines:
Code:
$config['quality'] = 100;
$config['width'] = 478;
$config['source_image'] = './images/projects/'.$_FILES['image']['name'];
$this->load->library('image_lib', $config);
chmod('./images/projects/'.$_FILES['image']['name'], 0777);
$this->image_lib->resize();