Установить фоновое изображение в файл .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

    /* 

*** 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";

и т.д..

Что такое ImageClass? Что возвращает ImageClass::getImage?

misorude 16.11.2018 13:31

Нам также понадобится ошибка, которую возвращает этот скрипт, ведь мы ведь не волшебники

Jaswinder 16.11.2018 13:32

Я все еще изучаю .php. Я новенький. Просто попробовал заставить скрипт распознавать изображение, которое я хочу поставить bg.jpeg в качестве фона

Black Mamba 16.11.2018 13:33
«Полный код можно скачать здесь» - в нем даже нигде нет ImageClass::getImage, поэтому мы до сих пор не знаем, что это на самом деле и что он должен возвращать, что делает весь ваш вопрос без ответа.
misorude 16.11.2018 13:36

Да, я просто поместил этот дополнительный код в начало, чтобы скрипт распознал нужный мне фон. Но когда я запускаю, ничего не происходит, отображается только вверху $image = ImageClass::getImage('bg.jpeg','myTitle'); $bg_img = explode(" ",$image); $src = substr(strpos('"',$bg_img),strlen($bg_image)-1); echo " Пожалуйста, проверьте мой сайт здесь: katzstorebrasil.com.br/PROPAR

Black Mamba 16.11.2018 13:38
я просто поместил этот дополнительный код в начало, чтобы скрипт распознал фон, который я хочу Это меня сбивает с толку, лол, не могли бы вы объяснить, почему и как вы решили написать $image = ImageClass::getImage('bg.jpeg','myTitle'); , пожалуйста, вы копипастили?
Jaswinder 16.11.2018 13:40

Просто много искал в гугле, как поставить фоновую картинку в файл .php. Итак, этот код звучал хорошо, и я слышал, что мне нужно поместить его в начало скрипта.

Black Mamba 16.11.2018 13:41

Прежде всего, вы должны поместить свой php-код в тег <?php. Но даже тогда я очень сомневаюсь, что это сработает, но, по крайней мере, тогда он попытается фактически выполнить код php.

Dirk Scholten 16.11.2018 13:42

в вашем коде должен существовать класс под названием ImageClass с любыми функциями, которые, по вашему мнению, он обеспечивает, чтобы $image = ImageClass::getImage('bg.jpeg','myTitle'); работал

Jaswinder 16.11.2018 13:43

пробовал ставить раньше «<? php», но тоже ничего не изменилось

Black Mamba 16.11.2018 13:44

@ I'mNotHere Какова здесь цель, вы просто хотите применить img с вашего сервера в качестве фона css к элементу html?

Jaswinder 16.11.2018 13:45

Да, я слышал, что это встроенный элемент css, который нужно поместить непосредственно в файл ´.php´

Black Mamba 16.11.2018 13:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
12
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во всем этом нет нужды, То, чего вы хотите достичь, намного проще.

Предполагая, что этот код находится внутри 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 Выучить больше

Предположим, например, что структура 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>

Но это создало пустой тег div в верхней части вывода html, я хотел, чтобы вместо этого он применил фон к тегу body !!!?

- Это произошло потому, что echo используется для отправки вывода в браузер сразу после его выполнения. Итак, поскольку вы скопировали мой код в верхнюю часть своего скрипта, вывод html также находится вверху.

Но почему он повторил <div style = "background-image: url('bg.jpeg');" ></div>, когда я хотел применить его к body моей страницы?

- Поскольку операторы эха читают "<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>

Надеюсь, я хорошо это объяснил :)

просто вставьте верхнюю часть первого <?php, и ничего не изменилось. Фон остается серым. Просто проверь мое редактирование

Black Mamba 16.11.2018 14:00

повторите попытку с обновленным кодом, я исправил ошибку с синтаксисом вашего эха

Jaswinder 16.11.2018 14:02

Кстати, глядя на ваш связанный веб-сайт, я вижу, что файл index.php находится внутри папки PROPAR, поэтому вам нужно изменить ссылку на изображение с /bg.jpeg на bg.jpeg или /PROPAR/bg.jpeg, предполагая, что bg.jpeg также находится в папке под названием PROPAR

Jaswinder 16.11.2018 14:04

Ваше обновление после того, как мой ответ неверен, скопируйте, вставив мой код, как есть, просто создаст пустой div с правильным фоном, который не будет виден, поскольку он пуст. Измените оператор echo и его размещение в любом месте и в любом элементе, фон которого вам нужно изменить.

Jaswinder 16.11.2018 14:09

Извините, не поняла. У меня плохой английский ... можешь показать мне, что я сделал не так с твоим кодом?

Black Mamba 16.11.2018 14:21

Большое спасибо! Потрясающе! :)

Black Mamba 16.11.2018 14:56

Другие вопросы по теме