PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Страниц (93): В начало « ... 84 85 86 87 [88] 89 90 91 92 ... » В конец
Найдено сообщений: 1388
Okula
Отправлено: 12 Февраля, 2011 - 18:58:22 • Тема: как скачать сайт? • Форум: Программирование на PHP
Ответов: 15 Просмотров: 1357
Tmin10 пишет: ну так слить массив в одну строку, использую в качестве разделителя "" и всё...
Вообщето функция file_get_contents() возвращает не масив, а строку и склеивать ничего не нужо.
Okula
Отправлено: 12 Февраля, 2011 - 16:08:37 • Тема: как скачать сайт? • Форум: Программирование на PHP
Ответов: 15 Просмотров: 1357
umpc пишет: делаю:
echo $google = file_get_contents('http://google.ru'); - ничего не выдает
Ещё бы что что-то вывело тебе
Okula
Отправлено: 11 Февраля, 2011 - 19:48:46 • Тема: Функция для работы с датой • Форум: Напишите за меня, пожалуйста
Ответов: 0 Просмотров: 23
Добрый вечер, прошу вашей помощи так как времени вообще нет.
Нужно написать функцию которая будет преобразовывать дату из такого формата:
08 Августа 2010г. [23:59]
в результат функции time() т.е. время в секундах.
Все названия месяца начинаются с большой буквы в родительном падеже.
Для разбора времени напишу регулярное выражение чтобы облегчить задачу.
PHP:
скопировать код в буфер обмена
preg_match_all ( "~([0-9]+) ([а-я]+) ([0-9]+)г. \[([0-9]{1,2}):([0-9]{1,2})\]~iu" , $data , $inf ) ;
/* Результут переменной $inf
Array
(
[0] => Array
(
[0] => 08 Августа 2010г. [23:59]
)
[1] => Array
(
[0] => 08
)
[2] => Array
(
[0] => Августа
)
[3] => Array
(
[0] => 2010
)
[4] => Array
(
[0] => 23
)
[5] => Array
(
[0] => 59
)
)
Заранее благодарен
(Добавление)
Уделил себе время, написал функцию. Может пригодится кому тоже:
PHP:
скопировать код в буфер обмена
// Дата в формате: 08 Августа 2010г. [23:59]
// Секунды генерируются функцией mt_rand()
function convert_data( $data_text ) {
preg_match_all ( "~([0-9]+) ([а-я]+) ([0-9]+)г. \[([0-9]{1,2}):([0-9]{1,2})\]~iu" , $data_text , $info ) ; if ( $info [ 2 ] [ 0 ] == "Января" ) $m = 1 ;
if ( $info [ 2 ] [ 0 ] == "Февраля" ) $m = 2 ;
if ( $info [ 2 ] [ 0 ] == "Марта" ) $m = 3 ;
if ( $info [ 2 ] [ 0 ] == "Апреля" ) $m = 4 ;
if ( $info [ 2 ] [ 0 ] == "Мая" ) $m = 5 ;
if ( $info [ 2 ] [ 0 ] == "Июня" ) $m = 6 ;
if ( $info [ 2 ] [ 0 ] == "Июля" ) $m = 7 ;
if ( $info [ 2 ] [ 0 ] == "Августа" ) $m = 8 ;
if ( $info [ 2 ] [ 0 ] == "Сентября" ) $m = 9 ;
if ( $info [ 2 ] [ 0 ] == "Октября" ) $m = 10 ;
if ( $info [ 2 ] [ 0 ] == "Ноября" ) $m = 11 ;
if ( $info [ 2 ] [ 0 ] == "Декабря" ) $m = 12 ;
$d = ( int) $info [ 1] [ 0] ;
$date = mktime ( $info [ 4
] [ 0
] , $info [ 5
] [ 0
] , mt_rand ( 0
, 59
) , $m , $d , $info [ 3
] [ 0
] ) ; return $date ;
}
Okula
Отправлено: 11 Февраля, 2011 - 18:52:31 • Тема: Проблема с созданием wav файла через php • Форум: Программирование на PHP
Ответов: 20 Просмотров: 1225
yesnoms , если в базе находится бинарный код то тогда и файл нужно создавать для записи этого бинарного кода:
И ещё: какой тип поля имеет строка шестнадцатиричный код в базе данных MySQL?
Okula
Отправлено: 10 Февраля, 2011 - 17:48:31 • Тема: Вопрос по .htaccess • Форум: Программирование на PHP
Ответов: 0 Просмотров: 118
Как сделать запрет к скачиванию файлов во вложенных папках.
Что-то типо deny from all
(Добавление)
Неактуально, мешал Options -Indexes
Okula
Отправлено: 10 Февраля, 2011 - 01:35:41 • Тема: постраничный вывод информации из базы • Форум: Программирование на PHP
Ответов: 11 Просмотров: 671
Вот мой класс постраничной навигации, писал его здесь уже на форуме
PHP:
скопировать код в буфер обмена
class Navigation {
/* Автор класса Okula (Александр Третьяков)
Немного коментариев:
$page это номер страницы переданной из $_GET параметра, предварительно отфильтрованна
$pnumber это число элементов выводимых на страницу
$begin это число от которого начинается отсчёт в SQl запросе
$colp это общее количество элементов находящихся в базе
*/
public $pnumber , $begin , $page , $colp ;
function __construct( $pnumber , $page , $colp ) {
$this -> pnumber = $pnumber ;
$this -> page = $page ;
$this -> colp = $colp ;
}
/**
* Готовим данные для навигации
*/
function navi( ) {
if ( $this -> page == 0) $this -> page = 1 ;
if ( $this -> pnumber < 5) $this -> pnumber = 5 ; else $this -> pnumber = $pnumber ;
if ( $this -> colp / $this -> pnumber < $this -> page ) $this -> page = ceil ( $this -> colp / $this -> pnumber ) ; $this -> begin = ( $this -> page - 1) * $this -> pnumber ;
}
/**
* Постаничная навигация
*/
function Navigation( ) {
$number = ( int) ( $this -> colp / $this -> pnumber ) ;
if ( $this -> colp >= ( $this -> pnumber + 1) ) {
if ( ( float) ( $this -> colp / $this -> pnumber ) - $number != 0) $number ++;
echo "<div>" ;
if ( $this -> page == "1" ) { echo "<< Пред. |" ; }
if ( $this -> begin > 0) {
echo "<a href='" . $_SERVER [ 'PHP_SELF' ] . "?page=" . ( $this -> page - 1 ) . "'><< Пред.</a>|" ;
}
if ( $this -> colp > $this -> begin + $this -> pnumber ) {
echo "|<a href='" . $_SERVER [ 'PHP_SELF' ] . "?page=" . ( $this -> page + 1 ) . "'>След.>></a>" ;
}
if ( $number == $this -> page ) { echo "| След.>>" ; }
$all = ceil ( $this -> colp / $this -> pnumber ) ; $i = 1 ; $c = "" ; $tt = $this -> page ; while ( $i <= $all ) {
if ( $i <= 3 || $i == $tt - 1 || $i == $tt || $i == $tt + 1 || $i >= $all - 2) {
$ii = "<a href='" . $_SERVER [ 'PHP_SELF' ] . "?page=" . $i . "'>" . $i . "</a>" ;
if ( $i == $tt ) {
if ( $i != $all ) { $c .= "<b>" . $i . "</b>," ;
} else { $c .= "<b>" . $i . "</b>" ; }
}
else { if ( $i != $all ) { $c .= $ii . "," ; } else { $c .= $ii ; }
}
} else { $c .= "." ; }
$i ++;
}
echo "<br/>" . $c . "<br/></div>" ;
}
}
}
Использование класса
PHP:
скопировать код в буфер обмена
$page = ! empty ( $_GET [ 'page' ] ) ?
abs ( ( int
) $_GET [ 'page' ] ) : 1 ; //получаем номер страницы $pnumber = "10" ; //Сколько элементов выводить на страницу
$navig = new Navigation( $pnumber , $page , $colp ) ;
$navig -> navi ( ) ;
$query = mysql_query ( "SELECT * FROM `table` ORDER BY `id` DESC LIMIT " . $navig -> begin . ", " . $navig -> pnumber ) ;
// Тут выводим на печать всё что нужно
}
$navig -> Navigation ( ) ;
Okula
Отправлено: 09 Февраля, 2011 - 20:28:27 • Тема: по поводу поиска • Форум: Программирование на PHP
Ответов: 4 Просмотров: 324
А вы уверны что они не работают? Может быть вы что-то нитак делаете.
Есть 2 способа организовать поиск по сайту:
1. Это через базу данных MySQL: оператор LIKE (если вы храните информацию в базе)
2. Это парсить странички собственного сайта в поиске совпадений, но такой поиск будет работать очень медленно, и будет требовать индивидуальных настроек для каждого сайта.
Okula
Отправлено: 09 Февраля, 2011 - 20:24:18 • Тема: chmod • Форум: Программирование на PHP
Ответов: 18 Просмотров: 1500
Tmin10 , предлогают выставить права записи на папку вручную.
Страниц (93): В начало « ... 84 85 86 87 [88] 89 90 91 92 ... » В конец
Powered by ExBB FM 1.0 RC1. InvisionExBB