Para generar un codigo alfanumerico usaríamos la siguiente función:
function genera_codigo($longitud,$tipo="alfanumerico"){
oif ($tipo=="alfanumerico"){
o$exp_reg="[^A-Z0-9]";
o} elseif ($tipo=="numerico"){
o$exp_reg="[^0-9]";
o}
oreturn substr(preg_replace($exp_reg, "", md5(rand())) . preg_replace($exp_reg, "", md5(rand())) . preg_replace($exp_reg, "", md5(rand())), 0, $longitud);
o}
Otra forma de generarlos, creando un archivo txt y escribiendolos en él sin que se repitan.
<?
oset_time_limit(150);
ofunction genera_codigo($cantidad, $longitud){
o$a = 0;
o$llista = array();
owhile($a < $cantidad){ "[^A-Z0-9]"; $val = substr(preg_replace($exp_reg, "", md5(rand())) . preg_replace($exp_reg, "", md5(rand())) . preg_replace($exp_reg, "", md5(rand())), 0, $longitud); _array($val, $llista)){ $val; fopen("sortida.txt", "a"); . "\n"); uot;sortida.txt", "copia.txt"); } genera_codigo(40, 10); ?>
Otra opción para generarlos, recomendado para grandes cantidades de códigos: codis

