Архив рубрики «php»
Генератор очереди для FileZilla
Привет всем! Все долбитесь с заливкой 100500 тыщ файлов по фтп? Вот ловите на халяву скрипт генерации заданий для файлзиллы.
Я искал по всему интернету, но так и не нашел. Нашел программу но не уверен в ее надежности, может там автор встроил злобную функцию сбора паролей от фтп. Мой скрипт открыт! Думаю дорвейщикам очень пригодится
Инструкция по применению
- Заполняем все поля
- Жмакаем кнопку Go
- Сохраняем файл проекта
- Скармливаем его FileZilla
- Запускаем задание
- Сидим пьем пиво, и радуемся пока заливается дор!
- Благодорим автора денежкой (R234504676985)
Качай на халяву!!!
Популярность: 13%
На эту страницу пришли с кейвордами:
Рассылка
Как-то мне пришлось сделать рассылку всем кто учился в Павлодарском государственном университете. Мне нужно было это для того чтобы выпускники поздравили с 50-летним юбилеем ПГУ
Что же я сделал для этого?
Мне понадобилось собрать список емайлов всех кто учился в ПГУ. Как же это сделать? Первое что пришло в голову это распарсить социальную сеть «Мой Мир».
Привожу код парсера, который у меня вышел
<?php error_reporting(0); set_time_limit(0); $page = (int)file_get_contents('page'); $mails = array(); foreach (file('mails') as $g) { $mails[] = trim($g); } for ($i = $page; $i <= 844; $i++) { file_put_contents('page', $i); print 'page ' . $i . "\n"; flush(); $c = file_get_contents('http://my.mail.ru/my/classmates?type_id=4&institute_id=263054&page=' . $i); preg_match_all('#http://www\.mail\.ru/agent\?message&to=([a-z0-9_\-\.]+@[a-z]+.ru)#si', $c, $matches, PREG_SET_ORDER); foreach ($matches as $n => $m) { if (in_array($m[1], $mails)) continue; print ' ' . $m[1] . "\n"; flush(); $mails[] = $m[1]; file_put_contents('mails', $m[1] . "\n", FILE_APPEND); } } ?>
После парсинга количество емайлов отличалось от реального на 300. Сначала подумал что это моя ошибка. Оказалось это сам майл.ру глючный. Эти емайлы не попали в мой список потому, что в конце некоторых страниц отсутствовал один.(например http://my.mail.ru/my/classmates?type_id=4&institute_id=263054&page=3)

Ну я не расстроился 16 тыс емайлов вполне хватило)
Приступим к рассылке писем:
<?php error_reporting(0); set_time_limit(0); $page = (int)file_get_contents('page'); $mails = array(); foreach (file('mails') as $g) { $mails[] = trim($g); } foreach($mails AS $m) { emailSend($m, 'ПГУ им.С.Торайгырова 50 лет!', 'Событие: ПГУ им.С.Торайгырова 50 лет! Поздравьте свой университет с юбилеем! ПГУ будет рад получить от Вас поздравления! http://psu.kz/index.php?option=com_compliment&act=view Не забудьте передать ссылку своим друзьям!!! ОБЯЗАТЕЛЬНО '); sleep(1); } function emailSend($address, $subj, $body) { $address = strtolower($address); $from = 'webmaster@psu.kz'; $from_name = 'ПГУ им.С.Торайгырова'; $body = "$body\n\n--\nПожалуйста не отвечайте на это письмо. Оно было сгенерировано исключительно с целью проинформировать Вас."; // =?кодировка?способ кодирования?закодированный текст?= $from_name = base64_encode($from_name); $subj = base64_encode($subj); $subj = "=?UTF-8?B?$subj?="; $body = base64_encode($body); $headers = "From: =?UTF-8?B?$from_name?= <$from>\r\n" . "Return-path: <$from>\r\n" . "Content-Type: text/plain; charset=UTF-8\r\n" . "Content-Transfer-Encoding: base64"; mail($address, $subj, $body, $headers); } ?>
Я на всякий случай поставил задержку в 1 сек между рассылками писем. На рассылку ушло где-то полдня. В течении рассылки поздравило около 20 человек!
Делайте выводы.
Популярность: 10%
На эту страницу пришли с кейвордами:
EmEditor + CodeBeautifier
Думаю каждый сталкивался с тем, что при прочтении чужого кода не возможно разобраться в нем.
Для начала нам нужен CB. Нам нужна только консольная утилита — файл phpCB.exe.
Далее нам нужно скопировать phpCB.exe в папку c:\windows\ или другую папку видную через переменную PATH.
Открыть макрос CodeBeautifier.jsee в EmEditor и код отформатирован по стандартам PEAR.
Теперь чтобы отформатировать, достаточно нажать F4.
Популярность: 6%
На эту страницу пришли с кейвордами:
Определение продажности ссылок
В последнее время вебмастеры пользуются биржами ссылок(например: SAPE).
Думаете, поисковикам так сложно отследить продажные сайты?
Вынужден Вас огорчить.
Прочитать остальную часть записи »
Популярность: 8%
На эту страницу пришли с кейвордами:
Генератор паролей
Часто бывает: зарегистрировался где-нибудь, а там просят: «введите пароль». В спешке приходится вводить что-нибудь типа qwerty или 12345. Последствия могут быть фатальными для вашего аккаунта: при попытке взлома такие пароли проверяются в первую очередь. Чтобы этого не происходило, надо создавать сложный пароль, желательно состоящий из букв разного регистра.
Прочитать остальную часть записи »
Популярность: 14%
На эту страницу пришли с кейвордами:
Локализуем проекты
Для локализации своих проектов я взял класс pomo из вордпресса.
Также будет необходим Poedit.
В исходном тексте скрипта все фразы написаны на английском языке, но обрамлены в специальную функцию:
_e('Hello world ');
Выбор локализации указывается так:
define('LANG', 'ru_RU');
Всегда можно изменить:
$locale = 'en_US';
Из файлов записанных по стандарту gettext берутся фразы на языке локализации и ставятся на место оригинальных. Если какая-то фраза не переведена, то на ее место ставится оригинальная.
Плюс такого подхода заключается в том, что оригинальные фразы являются идентификаторами подстановки. Программисту не надо контролировать правильность подстановки нужно идентификатора, а переводчику становится более наглядно, что, где и, самое главное, как переводить нужную фразу.
Что же делает Poedit?
Она рекурсивно обходит каталог скрипта, собирает все фразы, которые обрамлены в теги gettext и записывает в специальный .po-файл. Далее этот файл открывается в удобном виде для перевода. После сохранения перевода Poedit создает .mo-файл.
.po-файл (от portable object) — текстовый, который непосредственно и переводят.
.mo-файл (от machine object) — бинарный файл, который использует скрипт/программа для подстановки перевода.
Итак начнем установку Poedit.
При первом запуске он что-то спросит — заполняй, как посчитаешь нужным, потом если что подправишь. Чтобы было проще работать, можно поставить русский язык в настройках программы(File —> Preferences —> Change UI Language —> Russian).
Далее переходим в меню Файл->Создать каталог и вводим информацию о проекте:

Самые важные строки: Кодировка и Кодировка исходного кода. Рекомендую выставлять оба этих параметра как utf-8. Формы множественного числа вставить вот это:
nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);
На следующей вкладке Пути необходимо прописать путь к папке в которой располагаются файлы для перевода:

Вкладка Ключевые слова. Здесь необходимо прописать названия функций «__», «_e» и тд (без кавычек и без круглых скобок):

Жмакаем OK. В открывшемся окне выбираешь ту же папку, куда забросил все .php файлы и сохраняем под именем ru_RU.po.
После сохранения выскакивает окошечко Сводка об обновлении. Здесь ты можешь видеть все строки, которые нашла программа и которые можно перевести. Опять жмакаем ОК и в следующем окне приступаем к переводу найденных фраз.
Напутственный совет
Функции форм множественного числа указываются _n:1,2.
Исходный код
l10n
Популярность: 6%
На эту страницу пришли с кейвордами:
Создаем архивы на лету
Представляю класс для создания архивов на лету class.createZip
Прочитать остальную часть записи »
Популярность: 4%
На эту страницу пришли с кейвордами:
Защита e-mail от спамботов
В последнее время очень много спама приходит на почту если email опубликован в открытом виде. Решил написать небольшую функцию для сокрытия от спамботов.
function generatePasswordLite()
{
$d = Array("ba", "be", "bo", "di", "du", "do", "de", "ku",
"ka", "ke", "si", "su", "re", "ru", "ro", "ra",
"la", "le", "li", "lo", "ve", "zde", "ka");
$str = "";
for ($i = 0;$i < mt_rand(3, 4);$i++) $str .= $d[mt_rand(0, count($d)-1)];
return $str;
}
function crypt_email($email)
{
$arr_name = generatePasswordLite();
$var_name = generatePasswordLite();
while ($arr_name == $var_name) {
$var_name = generatePasswordLite();
}
$plus = rand(1, 15);
$index = chr(ord('i') + rand(0, 15));
$str = 'document.write(\'' . $email . '\');';
$out = '';
for ($i = 0; $i < strlen($str); $i++) {
if ($out != '')
$out .= ',';
$out .= (ord($str[$i]) + $plus);
}
return ('<script type="text/javascript">
<!--
var ' . $var_name . '=""; var ' . $arr_name . '=new Array(' . $out . ');for (' . $index . '=0;' . $index . '<' . $arr_name . '.length;' . $index . '++){ ' . $var_name . '=' . $var_name . '+String.fromCharCode(' . $arr_name . '[' . $index . ']-' . $plus . ');} eval(' . $var_name . ');
//-->
</script>');
}
Популярность: 4%


