l'errore è relativo al foreach o all'echo dentro al ciclo?
(vedi il numero di riga dell'errore)

considera che basta passare l'url relativo e non quello assoluto, quindi penso basti fare

foreach (glob("images/shop/$nome_produttore_shop_get/*.jpg") as $url_img){
echo "Url: $url_img
";
}

l'errore se c'è si trova nella stringa che passi a glob.

io ho fatto una prova a scorrere le immagini della cartella 'immagini' che sta nella root di un sito in locale con il seguente script:

<?php
foreach (glob("immagini/*.jpg") as $url_img) {
$nomefile = basename($url_img);
$codice_articolo = substr($nomefile, 0, strpos($nomefile, "."));
echo "Url: $url_img - Codice: $codice_articolo
\n";
}
?>

e non da nessun errore