Yes, sometimes it just needs another set of eyes. It's often difficult to spot the errors in your own code, and very helpful to get somebody else to look.
I think that should do it. You need to ensure that the filename you use in your code is identical to the actual PNG filename, including capitalisation, or it won't work (as you've discovered ). As far as Linux is concerned, Black_Cart.png and black_cart.png are two different files, and it won't substitute one for the other.