Lo he probado asi y funciona:
Pruebalo si quieres sin mas codigo y crea las carpetas
usuarios y
mensajes en el mismo directorio en que estaria este codigo:
Código PHP:
$cnnick= "user";
$_POST["cnnick"] = $cnnick;
$nuevo .= "<"."?\n";
// campos del usuario..
$nuevo .= "?".">";
$crea = fopen("usuarios/$cnnick.php","w");
chmod("usuarios/$cnnick.php", 0777);
fputs($crea,$nuevo);
fclose($crea);
echo "<div id=infobox-center class=green>
<div id=top></div>
<div id=text>¡Bienvenid@ <strong>".$_POST["cnnick"]."</strong>
! Te has registrado exitosamente.
<br>¿A qué esperas para iniciar sesión?</div>
<div id=bottom></div>
</div>";
$nuevo2 .= "<"."?\n";
$nuevo2 .="\$fecha = \"".time()."\";\n";
$nuevo2 .="\$remitente = \"[BOT]\";\n";
$nuevo2 .="\$destinatario = \"$cnnick\";\n";
$nuevo2 .="\$mensaje = \"bienvenido\";\n";
$nuevo2 .= "?".">";
if(!file_exists("mensajes/contador.txt")) {
$ncrea = fopen("mensajes/contador.txt","w");
fwrite($ncrea, "0");
fclose($ncrea);
}
$file = "mensajes/contador.txt";
$nclicks = fopen($file,"r+");
$clicks = fgets($nclicks,1024);
$clicks++;
rewind($nclicks);
fwrite($nclicks,$clicks);
fclose($nclicks);
$crea2 = fopen("usuarios/$clicks.php","w");
chmod("usuarios/$clicks.php", 0777);
fputs($crea2,$nuevo2);
fclose($crea2);
En tu codigo original hay una llave al final que a mi me produjo error por no hallarse la de apertura.
Fijate que esa apertura puede ser de un condicional que no se cumple y que por lo tanto no te ejecuta ese trozo de codigo...