Опять PHP — скрытая подмена понятий :)

<?
print_r ($_POST);
?>
<form method="POST">
<input name="через пробел">
<input type="submit">
</form>

Как вы думаете, что выведет print_r? Array ( [через пробел] => ) ? А вот и нифига!

Он выведет Array ( [через_пробел] => )
Читать пост целиком »

Кодировка по умолчанию — php много на себя берёт

Весь мозг себе сьел.

Перенёс сайт на сервер. На предыдущем хостинге было всё ок — открывался как надо, все дела.

На новой же системе — постоянный header UTF-8, хоть ты тресни. Я бы и рад конечно UTF — но HostCMS пока что поддерживает только Win1251 — так что стал копать.
Читать пост целиком »

Новый логин Вконтакте — Perl, Curl

Собственно, уже не мудрствуя лукаво — кто хоть немного знает перл — разберётся.

Вконтакте добавили редиректики, что не помешает доблестному Curl через них пройти и получить куку в файл.

#!/usr/bin/perl -w
use strict;
use WWW::Curl::Easy;
use Carp;

Читать пост целиком »

Любимая функция для получения контента

Таскаю за собой по всем модулям и скриптам.

sub getURL {
  my $params = shift;

  croak q[HASH needed as param] if ref ($params) ne 'HASH';

  croak q[HREF needed in HASH] if (!exists ($params->{href}));

  $params->{href} = q[http://].$params->{href} if $params->{href} !~ /^http (s)?:\/\//;
  $params->{headers} = 0 if !$params->{headers};
  $params->{ag} = qq ($user_agents[rand(($#user_agents+1))]) if !exists $params->{ag};
  $params->{timeout} = 20 if !exists $params->{timeout};
  $params->{content_length} = 600000000 if !exists $params->{content_length};

Читать пост целиком »

«Защита» от обновления страницы по F5 :)

Навеяно SE и паранойей тамошнего ТС к ддос через F5 :DDD

<script type="text/javascript">
document.onkeydown = KeyCheck;
function KeyCheck(e) {
  var KeyID = (window.event) ? event.keyCode : e.keyCode;
  if(KeyID == 116){
    return false;
  }
}
</script>

Чем отличается PHP от FTP?

Этот вопрос мучает людей веками.

Ответ на вопрос «Чем отличается PHP от FTP» прост. Но его никто не знает.

Мерзкие отличия MacOS от Linux

Задача: массово переконвертить файлы с расширением .php из Windows-1251 в UTF-8.

Итоговое решение:

for a in `find /files_folder -type f -name "*.php"`; do iconv -f Windows-1251 -t UTF8 $a > /tmp/cp.file; cat /tmp/cp.file > $a; done; rm -rf /tmp/cp.file
Читать пост целиком »

Создать модуль для CPAN

Скорее для себя, чтобы не забыть

$ cd /path/to/dev/folder/
$ h2xs -b 5.8.8 -AX Foo::Bar -v 1.00
Writing Foo-Bar/lib/Foo/Bar.pm
Writing Foo-Bar/Makefile.PL
Writing Foo-Bar/README
Writing Foo-Bar/t/Foo-Bar.t
Writing Foo-Bar/Changes
Writing Foo-Bar/MANIFEST
Читать пост целиком »

IMAP и POP Gmail через telnet или читать почту это просто

В этом нет ничего сложного — правда! Фактически — написать свой почтовик — проще простого. Так же просто как и читать почту через консоль.

Далее — две маленькие статьи на живых примерах — как пользоваться POP3 и IMAP без почтового клиента.

Читаем POP3

Читать пост целиком »

Самая эффективная защита от парсинга

Самая эффективная зашита от парсинга (то есть защита от парсинга — я кстати вылез в топ гугл по запросу этому) — у сайта film.ru . Они просто отключили сайт когда я их начал парсить.

Развожу руками.

Страница 4 из 1012345678910