我正在处理一个简单的脚本 - 文件输入,它会将网站的背景更改为给定的图像。它可以工作,但是当我刷新网站时我的问题就出现了 - 背景图像消失了。
我想知道如何设置和检查背景是否已设置,所以只要下一次输入文件就会存在?
我试图用常量来做但不起作用,这是我的代码:
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>');
}
任何帮助?
答案 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>";
}