mira este es el codigo que yo uso pero es para subir al server,
a lo mejor te fallan las rutas, prueba rutas absolutas y relativas.
Código PHP:
if (isset($_POST['submit'])) {
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) {
// me verifica haya sido cargado el archivo
$ruta_destino = "../cevit/archivos/";
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta_destino . $_FILES['fichero']['name'])) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$ruta_destino . $_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>";
echo "Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
echo "<br><hr><br>";
mi server esta basado en windows,
tambien usa este tipo de rutas
c:/wamp/tmp"
pero para localizar despues las carpetas uso las rutas asi:
$ruta_destino = "../descarga/archivos/"; o asi
$ruta_destino = "/descarga/archivos/";