检查是否设置了背景图像

时间:2016-08-06 15:12:11

标签: php html css

我正在处理一个简单的脚本 - 文件输入,它会将网站的背景更改为给定的图像。它可以工作,但是当我刷新网站时我的问题就出现了 - 背景图像消失了。

我想知道如何设置和检查背景是否已设置,所以只要下一次输入文件就会存在?

我试图用常量来做但不起作用,这是我的代码:

if (isset($_POST['submit_bgImg'])) {
    $myTarget = 'img/' . basename($_FILES['bg_img']['name']);
    if (move_uploaded_file($_FILES['bg_img']['tmp_name'], $myTarget)) {
        print('<style> body {background-image:url(img/' . $myFile . ');}</style>');
        define('MY_BG', $_FILES['bg_img']['name']);
    }
}

if (defined('MY_BG')) {
    print('<style> body {background-image:url(img/' . MY_BG . ');}</style>');
}

任何帮助?

2 个答案:

答案 0 :(得分:0)

如果您只想为用户保留,您必须在会话或Cookie中存储MY_BG变量,例如:$_SESSION['my_bg'] = $_FILES['bg_img']['name'];

如果你想永远保存它,你必须将它存储在一个文件或像MySQL这样的数据库

$conn = new MySQLi('host','user','password','database name');
$conn->query("INSERT INTO table VALUES ('" . $bg_name . "')");

答案 1 :(得分:0)

在php中尝试使用echo而不是print。我建议您使用ajax。

    if (isset($_POST['submit_bgImg'])) {
    $myTarget = 'img/' . basename($_FILES['bg_img']['name']);
    if (move_uploaded_file($_FILES['bg_img']['tmp_name'], $myTarget)) {
        echo "<style> body {background-image:url(img/' . $myFile . ');}</style>";
        define('MY_BG', $_FILES['bg_img']['name']);
    }
}

if (defined('MY_BG')) {
    echo "<style> body {background-image:url(img/' . MY_BG . ');}</style>";
}