Простое кеширование страниц

Приведу пример простого кеширования PHP страниц с интервалом 600 секунд (10 минут).

Вставляем в начале кода:

<?php
$url=$GLOBALS['REQUEST_URI'];
$crc=md5($url);
$modif=time()-@filemtime ("cache/$crc");
if ($modif<600)
{
include ("cache/$crc");
exit();
}
ob_start ();
?>

Код самой страницы:

<html>
Код страницы
</html>

Вставляем в конце кода:

<?php
$cache = ob_get_contents();
ob_end_clean ();
echo $cache;
$fp = @fopen ("cache/$crc", "w");
@fwrite ($fp, $cache);
@fclose ($fp);
?>

Создадим также папку cache, после открытия страницы в неё будет записываться кеш.

Использование .htaccess

.htaccess — (hypertext access) файл дополнительной конфигурации веб-сервера Apache и подобных ему серверов.
Чтобы файл обрабатывался сервером Apache, в конфигурационном файле для указанной директории должна стоять опция «AllowOverride All».

Читать далее «Использование .htaccess»

Скрытие email на сайте от спамеров

Первый способ через JavaScript:

<script type="text/javascript" language="JavaScript">
var login  = 'user';
var server = 'domain.com';
var email  = login+'@'+server;
var url = 'mailto:'+email;
document.write('<a href="'+url+'">'+email+'</a>');
</script>
 
<noscript><img src="URL_картинки"></noscript>

В случае если у пользователя отлючены JavaScript, то выведется картинка указанная в тегах noscript.

Второй способ через PHP:

<?php
$email = 'user@domain.com';
$url = 'mailto:user@domain.com';
$safe_email=$safe_url='';
for($i=0; $i $safe_email .= '&amp;#'.ord($email{$i}).';';
}
for($i=0; $i $safe_url .= '&amp;#'.ord($url{$i}).';';
}
print "<a href="$safe_url">$safe_email</a>";
?>

Исправление ошибки MySQL: Can’t create table ‘tablename’ (errno: 150)

Ошибка MySQL: Can’t create table ‘tablename’ (errno: 150) может возникать когда вы например заливаете бекап и MySQL питается создать таблицу 1 которая ссылается на таблицу 2, которой по сути еще нету. Решить можно вставив в бекап строки:
в начале
SET FOREIGN_KEY_CHECKS = 0;
и в самом конце
SET FOREIGN_KEY_CHECKS = 1;