(editing my previous answer, it wasn't very helpful)
triage the problem -- does the
file_get_contents($imageURL) return data?
Print the length of the returned string to test,
Can you create a file that contains a '%' in the filename?
I can download the imageURL as typed, so you're most likely right, it's the % in the save-to filename that's going to be the problem.