Ejecutar otra aplicación desde PHP .. lo puedes hacer via:
exec() .. o system() y funciones afines (ya sabes ->
www.php.net/manual/en para mas información) ..
Estas funciones son para ejecutar y/o obtener el resultado de lo que genereran las aplicaciones ejecutadas ...
El problema de "concurrencia" que tienes con los nombres de ficheros que generas .. los puedes solucionar poniendo como nombre del fichero usando:
microtime()
Esto te genera segundos.microsegundos ... (tal cual lo ves aqui abajo de cada pagina del foro "Página generada en 0.30469406"
o generando un id unico y aleatorio ... lo puedes hacer con:
uniqid();
Eso, en conjunto con md5() (como el ejemplo de php.net propio de la funcion uniqid() .. obtienes un nombre de fichero unico e irrepetible (o en teoría xD).
Código PHP:
$token = md5(uniqid("")); // no prefix
$better_token = md5(uniqid(rand(),1)); // better, difficult to guess
Un saludo,