Buenas, además del signo $ que señala Nefertiter, hay otro inconveniente en el string de la consulta:
Código PHP:
$consulta = mysql_query("INSERT INTO urls (URL) VALUES ('$datos[i]')") OR DIE(mysql_error());
Para que se reemplace un índice de un array dentro de comillas dobles (las que abren y cierran la consulta), tendrías que usar llaves:
Código PHP:
$consulta = mysql_query("INSERT INTO urls (URL) VALUES ('{$datos[$i]}')") OR DIE(mysql_error());
Otra sería cortar el string y concatenar:
Código PHP:
$consulta = mysql_query("INSERT INTO urls (URL) VALUES ('". $datos[$i] ."')") OR DIE(mysql_error());
Suerte
Califa