Это не имеет ничего общего с неправильным php-кодом, я полагаю, но с правами доступа к файловой системе на вашем сервере / хосте. Если у вас есть доступ через SSH или FTP, вы можете попробовать изменить настройки cmod вашей папки / файла.
Обновление
Ваш код неверный, попробуйте это
// this is the path where you need write access on your server
$imgDestinationPath = '/you/need/a/physical/serverpath/here/cert.png';
$url = 'http://example.com/test/image.php';
$content = file_get_contents($url);
file_put_contents($imgDestinationPath, $content);