Я хочу показать изображение на фоне (с помощью повтора CSS) так же, как и в Twitter, но проблема в том, что я извлекаю его из базы данных MySQL, а CSS не может обрабатывать тег src
на фоне.
Как я могу получить изображение из базы данных MySQL (я знаю, как отображать изображение, получая из базы данных, но здесь я хочу отображать его по-разному), то есть отображать изображение как фоновое изображение на теле, и изображение должно повторяться так, как если бы заявление repeat
CSS было используемый. Как на twitter.com.
Мой код есть в PHP и MySQL. Мне нужно получить URL-адрес, поскольку этот образ извлекается из базы данных.
Вы не можете повторить <img src="#" />
поэтому для этого вам нужно использовать CSS в своем PHP-документе, вы можете сделать это как
<style> body { background-image: url('<?php echo $whatever; ?>') !important; background-repeat: repeat; } </style>
Либо вы можете сделать это
Создайте таблицу стилей с расширением .php
.
Than <link rel='stylesheet' type='text/css' href='css/stylesheet.php' />
В верхней части страницы упоминается об этом
<?php header("Content-type: text/css; charset: UTF-8"); ?>
Теперь вы можете установить переменные соответственно
<?php header("Content-type: text/css; charset: UTF-8"); $background = "$imgsrc"; /* Retrieve your image here */ /*Now simply use the $background variable for setting the body background */ ?>
Вы можете сделать это в два этапа.
Создайте PHP-скрипт, который принимает параметр для идентификации через уникальный идентификатор, который Row имеет отображаемое изображение. Этот скрипт будет извлекать изображение из базы данных и отправлять коды с соответствующим типом mime, чтобы браузер понимал. Таким образом, примените класс к контейнеру (или тегу тела) и покажите фон как:
.backgroundTile { background-image: url('/path/to/php-image-render-script.php?image_id=1212') !important; background-repeat: repeat; }
Пример PHP Script (Источник – http://cookbooks.adobe.com/post_Display_an_image_stored_in_a_database_ PHP -16637.html ):
<?php require_once('Connections/testConn.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $colname_getImage = "-1"; if (isset($_GET['image_id'])) { $colname_getImage = $_GET['image_id']; } mysql_select_db($database_testConn, $testConn); $query_getImage = sprintf("SELECT mimetype, image FROM images WHERE image_id = %s", GetSQLValueString($colname_getImage, "int")); $getImage = mysql_query($query_getImage, $testConn) or die(mysql_error()); $row_getImage = mysql_fetch_assoc($getImage); $totalRows_getImage = mysql_num_rows($getImage); header('Content-type: ' . $row_getImage['mimetype']); echo $row_getImage['image']; mysql_free_result($getImage); ?>