Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 06.06.2017
Сообщений: 41

Не удается подключить файл

23.08.2022, 18:49. Показов 1012. Ответов 8
Метки php (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Не удается подключить файл,
PHP
1
<?php include (__DIR__."./../fail.php");?>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
function tovar1($arr = []){
    $tovar = '
                            
    <div>
        <?php include (__DIR__."./../fail.php");?>
    </div> 
    <div>Текст</div>  
    <div>Текст</div> 
    <div>текст</div>   
            ';
    return $tovar;
}
?>
почему-то при выводе автоматически комментируется строка
PHP
1
<!-- ?php include (__DIR__."./../fail.php");? -->
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.08.2022, 18:49
Ответы с готовыми решениями:

Не удается подключить файл
require_once 'phar://classe/yandex-php-library_master.phar/vendor/autoload.php'; Не удается подключить файл, сам файл расположен в...

Не удается подключить css и js при некоторых url
Добрый вечир.Проблема такая: Если вводить url так 'site' или так 'site/category, то все нормально.Але если ввести так 'site/category/' или...

Не удаётся подключить .hpp файл
Здравствуйте. Пытаюсь подключить glm библиотеку, указал в С/С++ Общие папку, где лежат .hpp-файлы, но компилятор всё равно ругается: ...

8
 Аватар для sad67man
2600 / 1504 / 689
Регистрация: 23.08.2015
Сообщений: 3,812
23.08.2022, 18:53
Алексей-1, Ну тут вам форум подсказывает подсветкой, что вы это в виде строки написали, что это не воспринимается как код. Но дело не только в этом. Тут возникают вопросы.

Покажите сам файл fail.php
0
Невнимательный
 Аватар для ft4l
2840 / 1266 / 358
Регистрация: 08.02.2013
Сообщений: 7,367
Записей в блоге: 2
23.08.2022, 18:56
Цитата Сообщение от Алексей-1 Посмотреть сообщение
__DIR__."./
в __DIR__ нет заверщающего слеша и точка считается как часть имени
1
 Аватар для sad67man
2600 / 1504 / 689
Регистрация: 23.08.2015
Сообщений: 3,812
23.08.2022, 19:12
Лучший ответ Сообщение было отмечено Алексей-1 как решение

Решение

Алексей-1, Тут можно подняться через dirmane

PHP
1
<?php include (dirname(__DIR__) . "/fail.php");?>
Но дело в том, что если в файле fail.php идет просто html код - то он пойдет в вывод, а не вернет строку. Либо тогда файл должен что-то возвращать через return. Либо перехватывать буфер вывода
К примеру

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function tovar1($arr = []){
 
    ob_start();
    include dirname(__DIR__) . "/fail.php";
    $fail = ob_get_clean();
 
    $tovar = '
                            
    <div>
        ' . $fail . ' 
    </div> 
    <div>Текст</div>  
    <div>Текст</div> 
    <div>текст</div>   
            ';
    return $tovar;
}

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function tovar1($arr = []){
 
    $fail = include dirname(__DIR__) . "/fail.php"; // если используется return
 
    $tovar = '
                            
    <div>
        ' . $fail . ' 
    </div> 
    <div>Текст</div>  
    <div>Текст</div> 
    <div>текст</div>   
            ';
    return $tovar;
}
0
0 / 0 / 1
Регистрация: 06.06.2017
Сообщений: 41
23.08.2022, 21:20  [ТС]
Цитата Сообщение от sad67man Посмотреть сообщение
если в файле fail.php идет просто html код
именно, обычный html код, который громоздкий, и должен выводиться в данном divе
Цитата Сообщение от sad67man Посмотреть сообщение
что это не воспринимается как код.
данная строка просто комментируется и соответственно не выводится.

Я так понимаю, это из-за того, что php в php, что-то с синтаксисом не правильно.

Добавлено через 3 минуты
Цитата Сообщение от sad67man Посмотреть сообщение
ob_start();
    include dirname(__DIR__) . "/fail.php";
    $fail = ob_get_clean();
не работает
Цитата Сообщение от sad67man Посмотреть сообщение
$fail = include dirname(__DIR__) . "/fail.php"; // если используется return
работает, но выводит div не в том месте, где он должен быть.

Добавлено через 17 минут
Цитата Сообщение от sad67man Посмотреть сообщение
ob_start();
    include dirname(__DIR__) . "/fail.php";
    $fail = ob_get_clean();
данный вариант работает
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
23.08.2022, 22:54
Цитата Сообщение от Алексей-1 Посмотреть сообщение
именно, обычный html код, который громоздкий, и должен выводиться в данном divе
Для обычного html-кода include/require вовсе не нужен. Для этого есть специальная функция.
0
0 / 0 / 1
Регистрация: 06.06.2017
Сообщений: 41
23.08.2022, 23:14  [ТС]
Цитата Сообщение от estic Посмотреть сообщение
Для этого есть специальная функция.
какая?
0
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
24.08.2022, 07:53
Для прямого вывода - readfile. Если же нужно включить прочитанное в строку - просто функция чтения file_get_contents.
1
 Аватар для sad67man
2600 / 1504 / 689
Регистрация: 23.08.2015
Сообщений: 3,812
24.08.2022, 12:25
Алексей-1, Вообще чтоб не писать кучу подобных функций можно написать одну функцию render

PHP
1
2
3
4
5
6
7
8
9
10
function render($view, $data) {
    extract($data);
    ob_start();
    include dirname(__DIR__) . '/views/' . $view . '.php';
    return ob_get_clean();
}
 
function encode($var) {
    return htmlspecialchars($var, ENT_QUOTES | ENT_SUBSTITUTE);
}
И складывать html-шаблоны в папку views. Вызов будет таким.

PHP
1
2
3
4
5
6
echo render('product/item', [
    'id' => 5,
    'title' => 'Название товара',
    'href' => '/product/5',
    'preview_text' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit...'
]);
Сам шаблон /views/product/item.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
/**
 * @var $id
 * @var $title
 * @var $href
 * @var $preview_text
 */
?>
 
<div class="product">
    <a class="product__title" href="<?= encode($href) ?>"><?= encode($title) ?></a>
    <div class="product__description">
        <?= encode($preview_text) ?>
    </div>
</div>
Логика формирования данных должна быть отдельно. Шаблоны только формируют html.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2022, 12:25
Помогаю со студенческими работами здесь

Не удается подключить заголовочный файл
Привет, студия не видит заголовочный файл mysql.h Лежит он C:\Program Files\MySQL\MySQL Server 8.0\include Добавил в зависимости и все...

не удается подключить php файл с помощью requre_once
Warning: require_once(class.phpinfo.php) : failed to open stream: No such file or directory in E:\apache\localhost\www\index.php on line 10...

подключить staticlib с qobject - ошибка не удается открыть файл "\.obj"
добрый день хотел подключить staticlib с qobject (qwebsocket, qwebsocketserver) компилятор стал ругаться что внешние символы не...

MS visual Studio 2012 Не удается запустить программу. Не удается найти указаный файл
Перебила винду, установила студию и теперь она не работает..( #include &lt;iostream&gt; #include &lt;locale&gt; #include...

Не удается запустить программу. Не удается найти указанный файл. Microsoft visual studio
Добрый день. Начал работу с программой, написал первую программу. текст приложу ниже. Программа наотрез отказывается выполняться. Выдает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru