Bueno, aqui te paso un script que hice... hace algo parecido, el usuario "sube" un archivo gif o jpg al servidor (su logo), con el nombre que sea, y este script le asigna el nombre de acuerdo a su numero de cuenta...
<FORM ENCTYPE="multipart/form-data" ACTION="cambios.php" METHOD="POST">
<INPUT NAME="archivologo" TYPE="file" SIZE="25" value='Buscar'>
<input type='hidden' name='que' value='logo'>
<input type='hidden' name='accion' value='subir'>
<input type='submit' name='Subir' value=' Subir archivo »'>
</FORM>
Código PHP:
switch ($que)
{
case 'logo':
if (isset($accion))
{
$punto=strrpos($archivologo_name, ".");
if ($punto===false){ $errorlogo="<br>El tipo de archivo es incorrecto. "; }
$extension=substr(strtolower($archivologo_name),$punto+1,3);
if ($extension!="gif" and $extension!="jpg"){ $errorlogo.="<br>No es un archivo JPG o GIF. "; }
if ($archivologo_size>30000){ $errorlogo.="<br>El tamaño del archivo supera los 30 kb. "; }
$infoimg=getimagesize($archivologo);
if ($infoimg[0]!=100 and $infoimg[1]!=100){ $errorlogo.="<br>La imágen debe medir 100 X 100 Pixeles. "; }
if (!isset($errorlogo))
{
$nombreOK=$ClienteNo.".".$extension;
$UPLOAD = fopen( $archivologo, "r" );
$contents = fread( $UPLOAD,filesize($archivologo));
fclose( $UPLOAD );
$SAVEFILE = fopen("logos/".$nombreOK, "w" );
fwrite( $SAVEFILE, $contents,filesize($archivologo));
fclose( $SAVEFILE );
mysql_query("update clientes set logo='$nombreOK' where ClienteID=$ClienteNo");
echo "<p class='texto'>El logotipo fué guardado correctamente</p>";
}
else
{
echo "<p class='texto'><b>Los siguientes errores fueron detectados:</b>".$errorlogo."</p>";
}
etc...