Erro ao verificar campo file antes de enviar para o banco em PHP

No meu site antes de enviar todos os dados o usuario pode ver todos assim verifica se tem algum erra do o codigo inteiro ta rodando correto todos os dados estão aparecendo menos a arquivo(foto) que é o campo file. Não sei porque esta dando erro. Alguem pode me ajudar?

       <?php
echo'Seus dados:';
	if (!empty($foto["name"])) {
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
 
         // Gera um nome único para a imagem
         $nome_imagem = md5(uniqid(time())) . "." . $ext[1];
 
         // Caminho de onde ficará a imagem
         $caminho_imagem = "../fotos/".$nome_imagem;
 
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
}

}
?>

  <form method="post" action="cadastro.php" enctype="multipart/form-data">
  <input type="email" name="email">
  <input type="submit" >
  <img src="<?php echo $caminho_imagem?>">
  <input type="file" id="foto" name="foto" file="<?php echo $foto?>" value="<?php echo $foto?>"  />
  <input type="text" value="<?php echo $caminho_imagem?>">
 <input type="text" name="nome"  value="<?php echo $nome?>">
 <input type="text" name="email"  value="<?php echo $email?>">
 <input type="text" name="escola"  value="<?php echo $escola?>">
 <input type="text" name="serie"  value="<?php echo $serie?>">
 <input type="text" name="turno"  value="<?php echo $turno?>">
  <input type="text" name="senha"  value="<?php echo $senha?>">


  </form>

Qual erro? Ou esse erro que você se refere é não aparecer a foto?

O erro é que eu to tentando chamar de volta a foto. Antes de enviar para o banco de dados eu queria verificar todos os dados, então no botao file deveria aparecer o nome do arquivo selecionado mas não parece.