PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): « 1 [2]

> Найдено сообщений: 25
Andrey65 Отправлено: 19 Января, 2011 - 00:27:16 • Тема: Линковка страниц • Форум: Программирование на PHP

Ответов: 8
Просмотров: 915
Какой способ перехода по страницам наиболее оптимален в меню. С использованием переключения страниц при помощи swich или же генерацией ссылок меню следующего типа


<?php
/**
* Генератор менюшки =)
*/
//начинаем...
$i = 0;
//открываем папку с контентом
$handle = opendir ('content/');
//считываем в цикле названия файлов
while($file = readdir($handle)){
//отсекаем ненужные нам файлы и ссылки на директории
if ($file != '.' && $file != '..' && $file != 'default.php'){
//считываем первые 50 символов из файла
$buffer = file_get_contents('content/'.$file);
//с помощью регулярного выражения извлекаем название для меню
preg_match('/<!--(.*)-->/',$buffer,$name);//
//формируем массив названий файлов без расширения .php
$func[$i] = substr($file, 0, -4);
//выводим ссылки меню
echo " <a href='index.php?p=$func[$i]'>$name[1]</a> ";

$i++;
}

}
closedir($handle);//закрываем директорию




А вот и пример switch c использованием буфферизации

<?php


ob_start();
$page = 'main';
/**
* Подключаем меню
* Includes the menu
*/
include './skins/tpl/menu.tpl';

/**
* The switch of modules
* Переключатель страниц
*/
switch($page)
{
/**
* Подключаем модуль приветствия
* Includes the greeting module
*/
case 'main':
include './modules/main/index.php';
include './skins/tpl/main/show.tpl';
break;
/**
* Подключаем модуль второй страницы
* Includes the module of the second page
*/
case 'second':
include './modules/second/index.php';
include './skins/tpl/second/show.tpl';
break;
/**
* Подключаем модуль приветствия по умолчанию
* Includes the greeting module
*/
default:
include './modules/main/index.php';
include './skins/tpl/main/show.tpl';
break;
}

$content = ob_get_contents();
ob_end_clean();



?>

Пока я нашел только 1 минус это добавление ссылок вручную, а так все на ура. Или же это пятое колесо? Может еще есть какие-нибудь способы постраничной навигации?
PS Сильно не ругайтесь если я что-то не так написал или неправильно понял, просто хочу выбрать наиболее оптимальный вариант для постоянного использования и прислушаться к знающим кодерам!
Andrey65 Отправлено: 19 Января, 2011 - 00:12:37 • Тема: Кто посоветует • Форум: Программирование на PHP

Ответов: 12
Просмотров: 643
Доброго времени суток форумчане! Вопрос следующий: каково ваше мнение как лучше написать сайт. С использованием CMS таких как например Joomla по различным мануалам, статьям, примерам и т.п. или же заняться велосипедостроением потихоньку?: сначала скелет, гостевая и т.д. (по желанию) админку конечно же хотя бы простенькую. Короче "каску и вперед пробивать скрипты". При этом цель не кончается на создании одного сайта, а может и хлебом быть в недалеком будущем. Так стоит-ли капать сначала, когда уже все есть готовое- бери и пользуйся? Как считаете?
Andrey65 Отправлено: 12 Января, 2011 - 22:05:36 • Тема: Простой сайт • Форум: Программирование на PHP

Ответов: 7
Просмотров: 575
Если написать file_get_contents('content/'.$file,false,NULL,0,50); то Warning: file_get_contents() expects at most 2 parameters, 5 given in /home/hop/e/l/i/elista/public_ht ml/design/header.php on line 35
Andrey65 Отправлено: 12 Января, 2011 - 21:07:20 • Тема: Простой сайт • Форум: Программирование на PHP

Ответов: 7
Просмотров: 575
Всё, разобрасля в корне с подсказки Kcaken. Суть в том, что на серваке версия php 4/4/9
просто надо поменять file_get_contents('content/'.$file,0,NULL,0,50); на @file_get_contents('content/'.$file,0,NULL,0,50);
Andrey65 Отправлено: 12 Января, 2011 - 19:01:25 • Тема: Простой сайт • Форум: Программирование на PHP

Ответов: 7
Просмотров: 575
OrmaJever Спасибо за помощь!!! Выкосил ,0,NULL,0,50 Работает на УРА!!!
Andrey65 Отправлено: 12 Января, 2011 - 18:21:40 • Тема: Простой сайт • Форум: Программирование на PHP

Ответов: 7
Просмотров: 575
Недавно начал учить php, так что сильно не ругайте!

Проблема следующая:
Разобрался с простым сайтом и решил залить на сервак посмотреть. Выдает ошибку
Warning: file_get_contents() expects at most 2 parameters, 5 given in /home/hop/e/l/i/elista/public_ht ml/design/header.php on line 35 При открытии index.php Адрес: elista.hop.ru

<?php

/**
* Файл index.php
*/

/**
* вставляем шапку страницы вместе с меню
*/
include ('design/header.php');

/**
* если запрос без параметров, т.е. пустой (http://site.ru/index.php)
* или (http://site.ru),
* то грузим дефолтную страницу
*/
if ($_GET == false){

include ("content/default.php");

} else {
/**
* А если параметр есть, то выполняем запрос указаной страницы.
* присваем переменной $page значение из запроса
* и приклеиваем к ней расширение .php
*/
$page = $_GET['p'] . '.php';
/**
* Если запрошеный файл не существует,
* то грузим дефолтную страницу.
*/
if (is_file('content/' . $page) == false){

include ('content/default.php');

} else {
/**
* Обратите внимание, что в отличие от одинарных (''),
* в двойных ("") кавычках считывается php код
* в нашем случае - это переменная $page .
* Вставляем запрошеный контент
*/
include ("content/$page");

}
}

/**
* вставляем подвал
*/
include ('design/footer.php');

?>


Файл elista.hop.ru/design/header.php


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251"/>
<meta name="description" content="простой движок сайта на php"/>
<meta name="keywords" content="php, движок, сайт, ксакеп ру"/>
<meta name="author" content="kcaken.ru"/>
<link rel="stylesheet" type="text/css" href="default.css"/>
<title>Такой вот сайт</title>
</head>

<body>

<div class="main">

<div class="gfx"><h1>Такой вот сайт</h1></div>

<div class="menu">
<a href="index.php"><span>Главная</span></a>

<?php
/**
* Генератор менюшки =)
*/
//начинаем...
$i = 0;
//открываем папку с контентом
$handle = opendir ('content/');// 35 строка
//считываем в цикле названия файлов
while($file = readdir($handle)){
//отсекаем ненужные нам файлы и ссылки на директории
if ($file != '.' && $file != '..' && $file != 'default.php'){
//считываем первые 50 символов из файла
$buffer = file_get_contents('content/'.$file,0,NULL,0,50);
//с помощью регулярного выражения извлекаем название для меню
preg_match('/<!--(.*)-->/',$buffer,$name);//
//формируем массив названий файлов без расширения .php
$func[$i] = substr($file, 0, -4);
//выводим ссылки меню
echo " <a href='index.php?p=$func[$i]'>$name[1]</a> ";

$i++;
}

}
closedir($handle);//закрываем директорию

?>
</div>
<div class="content">

<div class="item">




Если я правильно понял, то сервак не может прочитать директорию - 35строчка в header.php . А у меня на Denwer все нормально. Пробовал директорию менять бесполезно. Подскажите пожалуйста где что поменять?
Andrey65 Отправлено: 09 Января, 2011 - 14:39:01 • Тема: Сайт на PHP • Форум: Литература

Ответов: 4
Просмотров: 2508
?
Andrey65 Отправлено: 09 Января, 2011 - 14:02:30 • Тема: Сайт на PHP • Форум: Литература

Ответов: 4
Просмотров: 2508
?
Andrey65 Отправлено: 01 Января, 2011 - 01:12:12 • Тема: С Новым Годом!!! Удачи в работе! • Форум: Прочее

Ответов: 1
Просмотров: 53
Удачи в работе!
Andrey65 Отправлено: 30 Декабря, 2010 - 18:08:29 • Тема: Задачка на PHP. Кто может помогите. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 364
Алгоритм:

*Ввод А,В;
*Условие if , else;
*Вывод

На С++ напишу, если надо.

Страниц (2): « 1 [2]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB