he hecho la siguiente modificación, meti todo en un solo archivo php que funciona bien solo que no actualiza el background del div por la imagen subida.
subir.php
Código PHP:
<?php
$dir_subida = '/xampp/htdocs/jireh/uploads/';
$nombre_archivo = basename($_FILES['fichero_usuario']['name']);
$fichero_subido = $dir_subida . basename($_FILES['fichero_usuario']['name']);
move_uploaded_file($_FILES['fichero_usuario']['tmp_name'], $fichero_subido);
echo "$nombre_archivo";
?>
<!DOCTYPE html>
<html lang="es">
<head>
<title></title>
<meta charset="utf-8" />
<style>
.tarjeta {
border: 1px solid black;
display: block;
float: left;
height: 317px;
margin-left: -1px;
margin-top: -1px;
margin-right: 58px;
margin-bottom: 16px;
position: relative;
width: 503px;
overflow: hidden;
}
</style>
</head>
<body>
<!-- El tipo de codificación de datos, enctype, DEBE especificarse como sigue -->
<form enctype="multipart/form-data" action="" method="POST">
<!-- MAX_FILE_SIZE debe preceder al campo de entrada del fichero -->
<input type="hidden" name="MAX_FILE_SIZE" value="5000000" />
<!-- El nombre del elemento de entrada determina el nombre en el array $_FILES -->
Enviar este fichero: <input name="fichero_usuario" type="file" />
<input type="submit" value="Enviar fichero" />
</form>
<div class="tarjeta" style="background-image:url(uploads/<? echo '$nombre_archivo' ?>)"></div>
</body>
</html>