Как передать переменную php в style?

У меня есть переменная с названием картинки, я пытаюсь воспользоваться ей, чтоб установить фон картинки, но ничего не происходит

когда пишу вручную картинка отображается

<style>
   body {
    background: url(uploads/<?php echo $name;?>);
   }
  </style>
</head>
<body>
<?php
if(isset($_POST['submit'])){
        $name       = $_FILES['file']['name'];  
        $temp_name  = $_FILES['file']['tmp_name'];  
        if(isset($name) and !empty($name)){
            $location = 'uploads/';      
            if(move_uploaded_file($temp_name, $location.$name)){
                echo 'File uploaded successfully';
            }
        } else {
            echo 'You should select a file to upload !!';
        }
    }
    echo "$name"; // проверил значение - правильное
?> 

</body>

Ответы (1 шт):

Автор решения: Neolot

У вас php-код выполняется уже после того, как вы вывели стили для фона. В этот момент переменная $name еще не существует. Вынесите php-код выше по тексту, так, чтобы он был выше <style>.

<?php
if ( isset($_POST['submit']) ) {
    $name = $_FILES['file']['name'];
    $temp_name = $_FILES['file']['tmp_name'];

    if  (isset($name) and !empty($name) ) {
        $location = 'uploads/';

        if (move_uploaded_file($temp_name, $location . $name)) {
            echo 'File uploaded successfully';
        }
    } else {
        echo 'You should select a file to upload !!';
    }
}
?>

<style>
    body {
        background: url(uploads/<?php echo $name;?>);
    }
</style>
→ Ссылка