Archive for the ‘php’ Category

php.net logo

Thursday, December 10th, 2009

php_snow_09

Тема в правильной кодировки для функции mail

Monday, November 9th, 2009
 
$subject = 'Тема';
$subject = '=?WINDOWS-1251?B?' . base64_encode($subject) . '?=';
 

Вместо WINDOWS-1251 можно указать другую кодировку.

php: склонение числительных

Wednesday, September 23rd, 2009

Функция для склонения числительных:

 
function declOfNum($number, $titles) {
    $cases = array (2, 0, 1, 1, 1, 2);
    return $titles[ ($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ];
}
 

Пример использования:

 
$titles = array( 'вопрос', 'вопроса', 'вопросов' ); 
 
for ( $i = 0; $i < 10000; $i++ ) {
	echo 'ответили на ' . $i . ' ' . declOfNum($i, $titles);
}
 

Результат под катом
(more...)

php: strtolower, strtoupper не работают с кириллицей

Wednesday, September 23rd, 2009

Начинают работать после:

 
	define('C_LANG','ru');
	setlocale(LC_CTYPE , 'ru_RU.CP1251');
 

Проблемы с кодировкой в jQuery ajax

Sunday, June 28th, 2009

При передаче (POST) данных через ajax jQuery данные передаются в кодировке в utf-8 какая бы кодировка не стояла в content-type. Приходится POST данные перекодировать на стороне сервера (php).

 
 
function array_iconv(&$array,$in_charset='utf-8',$out_charset='windows-1251') {
    foreach($array as $key => $value) {
        if ( is_array($value) ) {
            array_iconv($array[$key]);
        } else {
            $array[$key] = iconv($in_charset,$out_charset,$value);
        }
    }
}
 
array_iconv($_POST);
 

php: альтернативный синтаксис для конструкции switch

Sunday, September 14th, 2008

Альтернативный синтаксис это если вместо

<?if ( 1 ) {
echo 'test';
}?>

Писать

<? if ( 1 ) : ?>
test
<? endif; ?>

Подробнее тут:

http://ru.php.net/control-structures.alternative-syntax

Для конструкции switch альтернативный синтаксис имеет особенность, а именно правильно писать так:

<? switch ( $var ) : // если здесь поставить "?>" то php выдаст ошибку
case '1': ?>

test

<? break; ?>

<? default: ?>

<? endswitch; ?>

Документация по программированию (php, html, css, javascript, xml)

Sunday, June 15th, 2008

Ссылки на онлайн документацию по языкам программирования:

PHP - http://www.php.net/manual/ru/
JavaScript - http://developer.mozilla.org/ru/docs/JavaScript
HTML,CSS,JS,XML - http://www.w3schools.com/
HTML,CSS - http://htmlbook.ru

Добавление заголовка Last-modified в динамически создаваемые старницы

Saturday, April 19th, 2008

Last-modified это метка высылаемая веб-сервером клиенту, показывающая дату последнего изменения запрашиваемого документа.

200 OK
Connection: close
Date: Thu, 17 Apr 2008 23:37:09 GMT
Server: Apache
Content-Type: text/html
Last-Modified: Wed, 12 Mar 2008 07:43:40 GMT

Как просматривать заголовки можно читаем тут.
Для статических документов таких как например .html .txt апач выдает этот заголовок автоматически. Чтобы этот заголовок выдавался и для .php файлов нужно включить следущий код в php скрипт. Три варианта:
Вариант 1

<?php
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
?>

Выдает текущую дату. Таким образом для документа будет выдаваться всегда новая дата.

Вариант 2

<?php
header('Last-Modified: Wed, 24 Oct 2007 14:14:38 GMT');
?>

Выдает одну и туже указанную дату.

Вариант 3

<?php
header('Last-Modified: '.date("D, d M Y H:i:s",filemtime(__FILE__)).' GMT');
?>

Выдает дату последнего изменения документа.

Этот код нужно помещать в самое начало скрипта, до вывода чего-либо.

Дата должна быть указана в формате ISO-<что-то там>.