Este es un script que personalize a mi medida, adaptalo a tus necesidades y nos cuentas.
Código PHP:
<form action="" method="post" enctype="multipart/form-data" name="formu" id="formu">
<table width="100%" border="0" align="center" cellspacing="20">
<tr>
<td align="center" valign="middle"><input name="action" type="hidden" value="upload" /><input type="file" name="archivos" /></td>
</tr>
<tr>
<td align="center" valign="middle"><input type="submit" name="envia" id="envia" value="Subir Imagen" /></td>
</tr>
</table>
<?php
if ($_POST["action"] == "upload")
{
$tamano = $_FILES["archivos"]['size'];
$tmp_name = $_FILES["archivos"]["tmp_name"];
$name = $_FILES["archivos"]["name"];
//Genera nombre aleatorio de 6 caracteres
$prefijo = substr(md5(uniqid(rand())),0,6);
//Extraigo la extension de la imagen
$tipo = end(explode(".", $name));
//Creo una variable con el directorio donde se guardara la imagen, concateno la variable $prefijo que es el nombre aleatorio que se le asignara a la imagen y concateno con $tipo que es la extencion final del archivo
$destino = "../../../images/upload/".$prefijo.".".$tipo;
//Evaluo si el archivo se copio a la carpeta de destino que la especifico en la variable $destino, si se copio muestro un mensaje
if (copy($_FILES["archivos"]["tmp_name"],$destino))
{
echo "<div align='center'>Archivo subido: ".$name."<br />";
echo "<input type='text' readonly='readonly' size='40' name='direccion' value='".$destino."' /><input type='button' value='Copiar' onclick='copiadireccion()'>";
}
else
//Si no se copio el archivo muestro mensaje de error.
{
echo "Error al intentar subir al archivo";
}
}
?>
</form>
<div align="center">
<input type="button" name="button" id="button" value="Cerrar" onclick="cerrar()" />
</div>