|
|
|
| Здравствуйте, форумчане!
Вот такой вопрос: как сделать, чтобы в мета теги подставлялась информация из названия файлов, загружаемых из директории?
Вот код:
<?php
//вывод списка файлов
foreach (glob ('dir/a/*.txt') as $f) {
$n++;
$files .= '<a href="index.php?id='.$n.'">'.basename($f,'.txt').'</a><br>';
}
echo $files;
//если бы запрос файла, выводим его на странице
if($id = (int)$_GET['id']) {
$f = glob('dir/a/*.txt');
include $f[$id-1];
}
?>
|
С уважением,
Олег | |
|
|
|
|
|
|
|
для: Oleg77
(04.01.2015 в 01:38)
| | 1. Огласите весь список! (с)
вопросов - имеется в виду. Чего резину-то тянуть?
2. Здесь нет никаких метатегов. Да и зачем их вообще? | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2015 в 03:01)
| | Здравствуйте!
Вот код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//RU"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<title>сюда подставить текст для каждой страницы свой</title>
<link rel="stylesheet" href="style.css" type="text/css" charset="windows-1251" />
</head>
<body>
<?php
//вывод списка файлов
foreach (glob ('dir/a/*.txt') as $f) {
$n++;
$files .= '<a href="index.php?id='.$n.'">'.basename($f,'.txt').'</a><br>';
}
echo $files;
//если бы запрос файла, выводим его на странице
if($id = (int)$_GET['id']) {
$f = glob('dir/a/*.txt');
include $f[$id-1];
}
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Oleg77
(04.01.2015 в 14:24)
| | Убедительная просьба прочесть все предложения. И вникнуть в суть сказанного.
Код, который Вы привели, выводит страницу со списком файлов.
Она - страница - одна.
Она общая для всех .txt - файлов.
Зачем в ее мета-фрагмент что-то подставлять?
К слову сказать, содержимое тега <title> к метаданным не имеет отношения. Это не мета-тег.
Не говоря уже о том, что в php существует функция header(),
позволяющая обойтись вообще без метавариантов - явными полями заголовка. | |
|
|
|
|
|
|
|
для: Oleg77
(04.01.2015 в 14:24)
| | Вообще-то логика(php) от представления(html) должна идти отдельно.
А из того, что у вас есть, все криво получается:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//RU"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<?php
foreach (glob ('dir/a/*.txt') as $f) {
$n++;
$files .= '<a href="index.php?id='.$n.'">'.basename($f,'.txt').'</a><br>';
}
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
if($id) {
$f = glob('dir/a/*.txt');
?>
<title><?php print $f[$id-1]; //название файла, непонятно, какая информация должна из названия выбираться
?></title>
<?php
}
?>
<link rel="stylesheet" href="style.css" type="text/css" charset="windows-1251" />
</head>
<body>
<?php
//вывод списка файлов
echo $files;
//если бы запрос файла, выводим его на странице
if($id) {
$f = glob('dir/a/*.txt');
include $f[$id-1];
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Лена
(05.01.2015 в 15:38)
| | include $f[$id-1]; это не вывод plaintext-поток, это запрос на исполнение файла, как части скрипта.
Автор вопроса, не смотря на ( а может и наоборот, учитывая) уровень владения инструментом, такой подлянки, как прямая дыра в безопасности, все ж не заслуживает. IMHO. | |
|
|
|
|
|
|
|
для: Trianon
(05.01.2015 в 17:07)
| | А это не Лены проблема, это я ему код писал, изначально автор писал о html-файлах, почему и подключение, ибо возможно нужно было и исполнение. Это уже потом оказалось, что ".txt", но он же все "добросовестно" просто повторяет, знаний то нет. | |
|
|
|
|
|
|
|
для: confirm
(05.01.2015 в 17:14)
| | да... что-то я проглядел...
Лена, прошу прощения. | |
|
|
|
|
|
|
|
для: Trianon
(05.01.2015 в 17:44)
| | Я в экспресс-режиме просто переставила куски кода, что он там подключает, сильно не вникала, вопрос же был не об этом. | |
|
|
|
|
|
|
|
для: Лена
(05.01.2015 в 15:38)
| | Здравствуйте!
<title><?php print $f[$id-1]; //название файла, непонятно, какая информация должна из названия выбираться
?></title>
|
Здесь хотел вывести название файла без расширения (здесь оно txt. и без dir/a/).
Не поможете это сделать?
С уважением,
Олег | |
|
|
|
|
|
|
|
для: Oleg77
(06.01.2015 в 13:52)
| | Вам же уже показывали. как это делается
basename($f[$id-1],'.txt') | |
|
|
|
|
|
|
|
для: Лена
(07.01.2015 в 16:05)
| | Спасибо за помощь. | |
|
|
|
|
|
|
|
для: Лена
(07.01.2015 в 16:05)
| | Добрый день!
А вы не напишите в коде как можно вывести не всё содержимое директории, а по 10 файлов на одной странице?
Вот код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//RU"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/>
<?php
foreach (glob ('dir/a/*.txt') as $f) {
$n++;
$files .= '<a href="index.php?id='.$n.'">'.basename($f,'.txt').'</a><br>';
}
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
if($id) {
$f = glob('dir/a/*.txt');
?>
<title><?php print $f[$id-1]; //название файла, непонятно, какая информация должна из названия выбираться
?></title>
<?php
}
?>
<link rel="stylesheet" href="style.css" type="text/css" charset="windows-1251" />
</head>
<body>
<?php
//вывод списка файлов
echo $files;
//если бы запрос файла, выводим его на странице
if($id) {
$f = glob('dir/a/*.txt');
include $f[$id-1];
?>
</body>
</html>
|
С уважением,
Олег | |
|
|
|