No se si será "la mejor forma", pero aquí dejo el código de un Uploader para quién le sirva de algo...
Código PHP:
//***************************
// CONEXIÓN CON LA BASE DE DATOS
//***************************
if ($order == 'agregar'){
$nombre = $_POST['nombre'];
$directorio = $_SERVER['DOCUMENT_ROOT'].'/nuevo/fotos/'; //aquí iría TU directorio...
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['img']['name'];
$tipo_archivo = $HTTP_POST_FILES['img']['type'];
$tamano_archivo = $HTTP_POST_FILES['img']['size'];
if ($nombre != NULL){
$consulta_agregar ="INSERT into comercios (nombre, img) values ('$nombre','$nombre_archivo')";
$resultado_agregar = mysql_query($consulta_agregar);
$id = mysql_insert_id();
//subo el arhivo
if (move_uploaded_file($HTTP_POST_FILES['img']['tmp_name'],$directorio.$nombre_archivo)){
echo "Archivo subido correctamente";
}else{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}
}else{
echo '<form name="form1" method="post" enctype="multipart/form-data" action="index.php?pag=agregar_comercio&order=agregar">
<table width="358" border="0" align="center" cellspacing="5">
<tr>
<td align="right" valign="top" style="color:#000;">Nombre: </td>
<td><input name="nombre" type="text" size="30"></td>
</tr>
<tr>
<td align="right" valign="top" style="color:#000;">Imágen:</td>
<td><input name="img" type="file" size="20"></td>
</tr>
<tr>
<td height="21" colspan="2" align="center"><input name="Enviar" type="submit" value="Enviar" /></td>
</tr>
</table>
</form>
';
}
Bueno, eso es todo (creo)
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
, cualquier consulta, no duden en preguntar