PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (6): [1] 2 3 4 5 6 »
Найдено сообщений: 90
Morgan
Отправлено: 15 Ноября, 2008 - 20:46:50 • Тема: Расширения .inc и .tpl • Форум: Программирование на PHP
Ответов: 27 Просмотров: 4607
тут на сайте пример есть:
PHP:
скопировать код в буфер обмена
Пишем класс Template
Автор: Андрошук Александр
Класс шаблонов это незаменимая часть в форуме, гостевой, чате и т.д. Это класс прост, причём очень прост. Объясню основные функции: загрузка шаблона, обработка в нём переменных и выход шаблона. Давайте рассмотрим подробнее:
<?PHP
class template # создали класс
{ # зададим переменные
var $data = array ( ) ; # переменная для шаблонов
var $root = '.' ; # каталог для шаблонов
var $ext = '.tpl' ; # расширение для шаблонов
var $da_vr = array ( ) ; # переменная для преобразованых шаблонов
// Класс создан, далее формируем функции:
function template( $dir , $ext )
{
if ( is_dir ( $dir ) ) { $this -> root = $dir ; }
else { die ( 'Ошибка! <b>' . $dir . '</b> - это не директория!' ) ; }
$this -> ext = $ext ;
}
// Эта функция выполниется сразу после создания класса, поэтому при создании надо
// указывать директорию и расширения шаблонов (см. ниже). Далее надо загрузить шаблон:
function load( $name )
{
$nn = $name ;
$dir = $this -> root ;
$ext = $this -> ext ;
$name = $dir . '/' . $name . $ext ;
if ( ! is_file ( $name ) ) { die ( 'Ошибка <b>' . $name . '</b> - это не файл!' ) ; }
$this -> data [ $nn ] = $data ;
$this -> da_vr [ $nm ] = $data ;
}
// В этой функции мы считали шаблон через fread и запихнули его в две переменных:
// da_vr и data. При загрузке шаблона надо указывать имя шаблона без расширения
// (см.ниже). Далее преобразовываем переменные:
function vars
( $nm , $vars = array ( ) )
{
$data = $this -> data [ $nm ] ;
{
global $$vars [ $id ] ;
$data = str_replace ( '{' . $vars [ $id ] . '}' , $$vars [ $id ] , $data ) ;
}
$this -> da_vr [ $nm ] = $data ;
}
// Тут мы преобразовали переменные и загнали в переменную da_vr. И осталось вывести
// шаблон:
function out( $name )
{
$ret = $this -> da_vr [ $name ] ;
$this -> da_vr [ $name ] = $this -> data [ $name ] ;
return $ret ;
}
}
После вывода шаблона, все переменные в нём уничтожились, их надо задавать заново. А теперь весь код, чтобы небыло проблем ( без комментов) :
<?PHP
class template # создали класс
{ # зададим переменные
var $data = array ( ) ; # переменная для шаблонов
var $root = '.' ; # каталог для шаблонов
var $ext = '.tpl' ; # расширение для шаблонов
var $da_vr = array ( ) ; # переменная для преобразованых шаблонов
function template( $dir , $ext )
{
if ( is_dir ( $dir ) ) { $this -> root = $dir ; }
else { die ( 'Ошибка! ' . $dir . ' - это не директория!' ) ; }
$this -> ext = $ext ;
}
function load( $name )
{
$nn = $name ;
$dir = $this -> root ;
$ext = $this -> ext ;
$name = $dir . '/' . $name . $ext ;
if ( ! is_file ( $name ) ) { die ( 'Ошибка <b>' . $name . '</b> - это не файл!' ) ; }
$this -> data [ $nn ] = $data ;
$this -> da_vr [ $nm ] = $data ;
}
function vars
( $nm , $vars = array ( ) )
{
$data = $this -> data [ $nm ] ;
{
global $$vars [ $id ] ;
$data = str_replace ( '{' . $vars [ $id ] . '}' , $$vars [ $id ] , $data ) ;
}
$this -> da_vr [ $nm ] = $data ;
}
function out( $name )
{
$ret = $this -> da_vr [ $name ] ;
$this -> da_vr [ $name ] = $this -> data [ $name ] ;
return $ret ;
}
}
?>
Обясню как работать с классом. Допустим у нас есть шаблон body.tpl в директории data. Его содержимое:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> {title} </title>
</head>
<body bgcolor={bgcolor}>
{text}
</body>
</html>
Работа с классом:
include('template.php'); # включили класс
# Зададим переменные #
$bgcolor = '#CCFFCC';
$text = 'Тест класса!';
$title = 'ТЕСТ!';
$tpl = new template('./data','.tpl'); # создали объект, задали каталог и расширение
$tpl -> load('body'); # зашрузили шаблон
$tpl -> vars('body',array('text','title','bgcolor')); # указали какие переменные преобразовать, они должны быть заданы зарание
echo $tpl -> out('body'); # вывели шаблон
Morgan
Отправлено: 15 Ноября, 2008 - 20:31:37 • Тема: отправка на email • Форум: Программирование на PHP
Ответов: 31 Просмотров: 2423
мыла вытаскиваються все, посмотри правильно ли они написаны т.е. нет ли русских символов или еще чен нить?
Morgan
Отправлено: 14 Ноября, 2008 - 22:42:25 • Тема: отправка на email • Форум: Программирование на PHP
Ответов: 31 Просмотров: 2423
может я чето не так понял, но зачем ты поствил пременную $cnt в mail()? в ней же хранится число строк...посмотри внимательней, может переменные где перепутал....
(Добавление)
Вездеход , заходишь на оф.сайт, в верхнем правом углу есть кнопка-картинка (непомню точно), заходишь регистрируешься, скачиваешь прогу WebMoney Keeper Clasic, устанавливаешь, вводишь свой WMID и пароль, ок.
Morgan
Отправлено: 13 Ноября, 2008 - 17:32:10 • Тема: отправка на email • Форум: Программирование на PHP
Ответов: 31 Просмотров: 2423
у тебя последнее письмо отправляеться пустым, попробуй так:
PHP:
скопировать код в буфер обмена
<?
$return = "<123@mail.ru>" ;
$headers = 'MIME-Version: 1.0' . "\r \n " . 'Content-type: text/plain; charset=windows-1251' . "\r \n " . 'From: ' . $return . "\r \n " . 'Reply-To: ' . $return . "\r \n " . 'Return-Path: ' . $return . "\r \n " . 'X-Mailer: PHP/' . phpversion ( ) . "\r \n " ; $headers .= "Content-type: text/plain; charset=windows-1251" . "\r \n " ; $file = "file.txt" ; // файл с емейлами. каждое мыло на отдельной строке
for ( $i = 0 ; $i < $cnt ; $i ++ ) {
mail ( $emails [ $i ] , $cnt , $headers ) ; echo "<li>" . $emails [ $i ] . " - отправлено!" ; }
?>
не уверен, но попробуй....
Morgan
Отправлено: 13 Ноября, 2008 - 10:26:32 • Тема: Переадресация • Форум: Программирование на PHP
Ответов: 10 Просмотров: 907
Цитата:
Ява скрипт тоже не остался не замеченным, но к сожалению во втором ответе с ява скриптом где задержка выполняется именно ява скриптом, задержки не происходит и не адресует.
Был бы признателен если б вы перепроверили задержку и исправили ошибку если она там вообще присутствует. У меня не задержки, не переадресации
PHP:
скопировать код в буфер обмена
<script language = "JavaScript" >
<!-- head
function redir( ) {
location. href= "адрес" ;
}
setTimeout( "redir()" , 1000) ;
// -->
</script>
вот так....
Morgan
Отправлено: 13 Ноября, 2008 - 10:13:24 • Тема: отправка на email • Форум: Программирование на PHP
Ответов: 31 Просмотров: 2423
Цитата:
таварищ вы извращенец =))
Цитата:
ну можно конечно подсчитать как нмить скриптом кол-во адресов...
(Добавление)
Цитата:
на денвере запускается на хосте нет, что может быть?
может твой хост mail() не поддерживает? Ошибки нет?
Цитата:
обьесните мне кто нить плз как кошелег на вебмани завести...
плиз =)
Вездеход , это реальный вопрос?
Morgan
Отправлено: 12 Ноября, 2008 - 19:45:11 • Тема: ftp • Форум: Программирование на PHP
Ответов: 4 Просмотров: 311
незнаю, а с денвера вобще можно зайти на ftp?
Morgan
Отправлено: 12 Ноября, 2008 - 14:45:50 • Тема: Открыть url • Форум: Программирование на PHP
Ответов: 5 Просмотров: 457
ты хочешь на локалке открыть файл который находиться в интернете?
и покажи свой код...
Morgan
Отправлено: 12 Ноября, 2008 - 14:42:23 • Тема: ftp • Форум: Программирование на PHP
Ответов: 4 Просмотров: 311
стоит чето грузит...потом выходит ошибка:
Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\scripts\www\index.php on line 6
(Добавление)
может че в пхп.ини надо изменить?
Morgan
Отправлено: 12 Ноября, 2008 - 14:38:18 • Тема: отправка на email • Форум: Программирование на PHP
Ответов: 31 Просмотров: 2423
количество адресов
например:
file.txt
count.txt
ну можно конечно подсчитать как нмить скриптом кол-во адресов...
Страниц (6): [1] 2 3 4 5 6 »
Powered by ExBB FM 1.0 RC1. InvisionExBB