在.php文件中设置背景图像

时间:2018-11-16 12:25:19

标签: php html

我下载了以下代码:

    $image = ImageClass::getImage('bg.jpeg','myTitle');
$bg_img = explode(" ",$image);
$src = substr(strpos('"',$bg_img),strlen($bg_image)-1);
echo "<div style='background-image: url(".$src.");' ></div>
<?php

    /* 

*** OPTIONS ***/

    // TITLE OF PAGE
    $title = "ARQUIVOS PROPAR";

    // STYLING (light or dark)
    $color  = "dark";

    // ADD SPECIFIC FILES YOU WANT TO IGNORE HERE
    $ignore_file_list = array( ".htaccess", "Thumbs.db", ".DS_Store", "index.php", "flat.png", "error_log" );

    // ADD SPECIFIC FILE EXTENSIONS YOU WANT TO IGNORE HERE, EXAMPLE: array('psd','jpg','jpeg')
    $ignore_ext_list = array( );

    // SORT BY
    $sort_by = "name_asc"; // options: name_asc, name_desc, date_asc, date_desc

    // ICON URL
    //$icon_url = "https://www.dropbox.com/s/lzxi5abx2gaj84q/flat.png?dl=0"; // DIRECT LINK
    $icon_url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAAyCAYAAADP7vEwAAAgAElEQVR4nOy9d5hdV3nv";

    // TOGGLE SUB FOLDERS, SET TO false IF YOU WANT OFF
    $toggle_sub_folders = true;

    // FORCE DOWNLOAD ATTRIBUTE
    $force_download = true;

    // IGNORE EMPTY FOLDERS
    $ignore_empty_folders = false;


// SET TITLE BASED ON FOLDER NAME, IF NOT SET ABOVE
if( !$title ) { $title = clean_title(basename(dirname(__FILE__))); }

?>

完整的代码可以在这里下载:https://github.com/halgatewood/file-directory-list/blob/master/index.php

我在开始时遇到问题:

 $image = ImageClass::getImage('bg.jpeg','myTitle');
    $bg_img = explode(" ",$image);
    $src = substr(strpos('"',$bg_img),strlen($bg_image)-1);
    echo "<div style='background-image: url(".$src.");' ></div>

我想将图片作为背景,但是没有发生。怎么了?


更改答案:

<?php
   echo "<div style='background-image: url('/bg.jpeg');' ></div>";
?>
<?php

    /* 

*** OPTIONS ***/

    // TITLE OF PAGE
    $title = "ARQUIVOS PROPAR";

    // STYLING (light or dark)
    $color  = "dark";

等等。

1 个答案:

答案 0 :(得分:0)

不需要所有这些, 您想要实现的目标要简单得多。

假定此代码位于index.php和您服务器的目录结构中:

/some-folder/
/index.php
/bg.jpeg

只需将其链接为纯HTML格式即可

<?php
   echo "<div style=\"background-image: url('/bg.jpeg');\" ></div>";
?>

如果您不希望它是动态的,即图像文件的名称位于变量内,则

<?php
   $my_image = 'bg.jpeg';
   echo "<div style='background-image: url($my_image);' ></div>";
?>


更新:

重要提示:所有编程语言都是逐行执行的,该提示不仅适用于PHP,还适用于HTML Learn More

例如,假设您的页面返回浏览器的html结构如下所示,并且您想将背景应用于body标记

<html>
  <head><head>
  <body>
    <nav>Some dummy navigation</nav>
    <div>welcome to my website</div>
    <footer>Copyright</footer>
  </body>
</html>

仅将我的代码复制并粘贴到页面顶部将导致

<div style="background-image: url('bg.jpeg');" ></div>
<html>
  <head><head>
  <body>
    <nav>Some dummy navigation</nav>
    <div>welcome to my website</div>
    <footer>Copyright</footer>
  </body>
</html>

但是这在html输出的顶部创建了一个空的div标记,我希望它通过body标记将背景应用于!!!!!!

-发生这种情况是因为echo被用于在执行后立即将输出发送到浏览器。因此,由于您将我的代码复制到了脚本的顶部,因此html输出也位于顶部。

但是当我希望将其应用于页面的<div style="background-image: url('bg.jpeg');" ></div>时为什么回显body

-因为echo语句读取"<div style=\"background-image: url('bg.jpeg');\" ></div>";作为其输出。

好,但是如何将背景图像应用于身体呢?

如前所述,代码是逐行执行的,因此要将样式应用于页面的body标记,您需要在body标记附近调用它,并将其修改为不输出当前的div。

所以假设您的index.php是:

<?php
  $my_image = 'bg.jpeg';
  echo "<div style='background-image: url($my_image);' ></div>";
?>
<html>
  <head><head>
  <body>
    <nav>Some dummy navigation</nav>
    <div>welcome to my website</div>
    <footer>Copyright</footer>
  </body>
</html>

您需要将其更改为-

<?php
  $my_image = 'bg.jpeg';
  // don't echo any thing here
?>
<html>
  <head><head>
  <body style="background-image: url('<?php echo $my_image; ?>')">
    <!-- apply the style to body -->
    <nav>Some dummy navigation</nav>
    <div>welcome to my website</div>
    <footer>Copyright</footer>
  </body>
</html>

希望我的解释很好:)