La stringa dove è contenuta la variabile deve essere racchiusa dai doppi apici, non dal singolo.
Codice PHP:
file_put_contents("cartella/$id.html"'contents'); 
All'interno dei doppi apici una variabile viene interpretata, racchiusa nei singoli apici invece è solo testo.
Codice PHP:
$var 'Pippo';

//questa stampa: Pippo è amico di Topolino
echo "$var è amico di Topolino";

//questa stampa: $var è amico di Topolino
echo '$var è amico di Topolino'