Bueno, después de crearme una base de datos con los campos "nombre", "diario" y "genero", de crear el archivo "conexion.php", desmenuzar el archivo del copy y crear todas las subcarpetas que tienes... ¡ya he consegido que funcione!
Le he aplicado los puntos que te he ido mencionando anteriormente como el foreach, $key y $vaue y he reducido el número de líneas y el copy() funciona perfectamente.
Código PHP:
Ver original<?php
include_once('conexion.php');
$genero = array('rock', 'metal', 'ska', 'punk');
foreach($genero as $key => $value) {
$sql = mysql_query("SELECT nombre FROM bandas WHERE genero = '$value' ORDER BY diario DESC LIMIT 0, 15");
$path_origen = "./php/banda/{$a['nombre']}/mp3/";
$path_destino = "./php/generos/$value/mp3/cancion" . ($key + 1) . ".mp3";
copy($path_origen . $canciones[$i], $path_destino);
}
}
?>
¡ME SIENTO REALIZADO! :P