se codice dell'articolo precede '_m.jpg' senza fare l'explode che ti produce un valore inutile ($articolo2 che contiene sono '_m') dovresti modificare il codice così:
Codice PHP:
foreach (glob("../images/shop/marca/*_m.jpg") as $url_img) {
$nomefile = basename($url_img);
$codice_articolo = substr($nomefile, 0, strpos($nomefile, "_m.jpg"));
if($articolo_prod == $codice_articolo){
$url_img = ''../images/shop/$nome_produttore_shop_get/$codice_articolo_m.jpg";
}
}
se quel codice non produce nessun output, vuol dire che sbagli l'url e non trovi nessuna immagine che si chiama *_m.jpg all'url ../images/shop/marca
Tra l'altro io non capisco a cosa serva tutto questo se tu il codice del prodotto lo conosci già e quindi al posto di fare il ciclo e tutto il resto ti basterebbe fare:
<?php $url_img = ''../images/shop/$nome_produttore_shop_get/$articolo_prod_m.jpg"; ?>
[img]<?php echo $url_img ?>[/img]
facendo una cosa del genere otterresti l'immagine che ti serve(sempre ammesso che l'url sia giusto) o in alternativa (se l'immagine non esiste) la scritta 'immagine non disponibile', mi sa che avevo interpretato male la tua domanda.