ГлавнаяФорумыЧАТСкрипты/PHP/MySQL/CSS/HTML

Полезные PHP коды

InkMission[78] (Off)
[06.02.11, 22:42]
MD5 Decrypter
<?php

function md5_decode($hash){

$ch = curl_init('http://www.md5decrypter.com/index.php');

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, 'hash='.$hash);

$result = preg_replace('#^.+Normal Text: \</b\>(.+?)\n\<br/\>.+$#s', '$1', curl_exec($ch), 1, $count);

curl_close($ch);

return $count ? $result : FALSE;

}

echo md5_decode('adc41cdc9f1515c560ccc70d899c4e42');

?>
InkMission[78] (Off)
[06.02.11, 22:42]
Простая каптча
<?php

// Папка со шрифтом + его имя

$font = 'fonts/Disney.ttf';

// Общее число линий

$lineCount = 40;

// Размер шрифта

$fontSize = 40;

// Высота картинки

$height = 50;

// Ширина картинки

$width = 150;

$img_handle = imagecreate ($width, $height) or die ("Cannot Create image");

// Основной цвет в RGB

$backColor = imagecolorallocate($img_handle, 255, 255, 255);

// Цвета линий в RGB

$lineColor = imagecolorallocate($img_handle, 175, 238, 238);

// Цвет текста в RGB

$txtColor = imagecolorallocate($img_handle, 135, 206, 235);



// Не изменяйте код ниже

$string = "abcdefghijklmnopqrstuvwxyz0123456789";

for($i=0;$i<6;$i++){

$pos = rand(0,36);

$str .= $string{$pos};

}

$textbox = imagettfbbox($fontSize, 0, $font, $str) or die('Error in imagettfbbox function');

$x = ($width - $textbox[4])/2;

$y = ($height - $textbox[5])/2;

imagettftext($img_handle, $fontSize, 0, $x, $y, $txtColor, $font , $str) or die('Error in imagettftext function');

for($i=0;$i<$lineCount;$i++){

$x1 = rand(0,$width);$x2 = rand(0,$width);

$y1 = rand(0,$width);$y2 = rand(0,$width);

imageline($img_handle,$x1,$y1,$x2,$y2,$lineColor);

}

header('Content-Type: image/jpeg');

imagejpeg($img_handle,NULL,100);

imagedestroy($img_handle);



session_start();

$_SESSION['img_number'] = $str;

?>



form.php

<form action="result.php" method="post">
<img alt="Random Number" src="image.php">
<input type="text" name="num"><br>
<input type="submit" name="submit" value="Check">
</form>

result.php


<?php

session_start();

if($_SESSION['img_number'] != $_POST['num']){

echo'The number you entered doesn\'t match the image.<br>

<a href="form.php">Try Again</a><br>';

}else{

echo'The numbers Match!<br>

<a href="form.php">Try Again</a><br>';

}

?>
InkMission[78] (Off)
[06.02.11, 22:43]
Антивирус на PHP
<?
// Заваливаем массив списком нужных нам директорий
$dir = array("./dir/");
// Расширение для сортировки
$extentions = array(".php");
// масссив из безопасных php-файлов файлов
$safe_files = array("index.php","shell.php");
// Каждый элемент массива - как отдельную директорию
foreach ($dir as $get_dir) {
// Открываем хэндл директории
$dir_handle = opendir($get_dir);
// Получаем данные из директории
while ( false !== ($file = readdir($dir_handle)) ) {
// Находим файлы с расширением пэхопэ
$ext = strtolower(strrchr($file, "."));
// Отсортируем все .php файлы
if ( in_array($ext, $extentions) ) {
// Собираем новый массив из php-файлов
$php_files[] = $file;
}
}
}
?>
InkMission[78] (Off)
[06.02.11, 22:44]
Win to Utf8
<?php

//------------------ Функция перекодировки из WIN в UTF --------------------//

function win_to_utf($str) {

if (function_exists('mb_convert_encoding')) return mb_convert_encoding($str, 'utf-8', 'windows-1251');

if (function_exists('iconv')) return iconv('windows-1251', 'utf-8', $str);

$win1251utf8 = array(

"\xC0"=>"А","\xC1"=>"Б","\xC2"=>"В","\xC3"=>"Г","\xC4"=>"Д","\xC5"=>"Е","\xA8"=>"Ё","\xC6"=>"Ж","\xC7"=>"З","\xC8"=>"И","\xC9"=>"Й","\xCA"=>"К","\xCB"=>"Л","\xCC"=>"М",

"\xCD"=>"Н","\xCE"=>"О","\xCF"=>"П","\xD0"=>"Р","\xD1"=>"С","\xD2"=>"Т","\xD3"=>"У","\xD4"=>"Ф","\xD5"=>"Х","\xD6"=>"Ц","\xD7"=>"Ч","\xD8"=>"Ш","\xD9"=>"Щ","\xDA"=>"Ъ",

"\xDB"=>"Ы","\xDC"=>"Ь","\xDD"=>"Э","\xDE"=>"Ю","\xDF"=>"Я","\xE0"=>"а","\xE1"=>"б","\xE2"=>"в","\xE3"=>"г","\xE4"=>"д","\xE5"=>"е","\xB8"=>"ё","\xE6"=>"ж","\xE7"=>"з",

"\xE8"=>"и","\xE9"=>"й","\xEA"=>"к","\xEB"=>"л","\xEC"=>"м","\xED"=>"н","\xEE"=>"о","\xEF"=>"п","\xF0"=>"р","\xF1"=>"с","\xF2"=>"т","\xF3"=>"у","\xF4"=>"ф","\xF5"=>"х",

"\xF6"=>"ц","\xF7"=>"ч","\xF8"=>"ш","\xF9"=>"щ","\xFA"=>"ъ","\xFB"=>"ы","\xFC"=>"ь","\xFD"=>"э","\xFE"=>"ю","\xFF"=>"я");

return strtr($str, $win1251utf8);

}

?>
InkMission[78] (Off)
[06.02.11, 22:45]
PHP перекодируем текст из HTML-последовательностей и наоборот
<?php
< ?php
function unicon($str, $to_uni = false) {
$cp = Array (
"А" => "А", "а" => "а",
"Б" => "Б", "б" => "б",
"В" => "В", "в" => "в",
"Г" => "Г", "г" => "г",
"Д" => "Д", "д" => "д",
"Е" => "Е", "е" => "е",
"Ё" => "Ё", "ё" => "ё",
"Ж" => "Ж", "ж" => "ж",
"З" => "З", "з" => "з",
"И" => "И", "и" => "и",
"Й" => "Й", "й" => "й",
"К" => "К", "к" => "к",
"Л" => "Л", "л" => "л",
"М" => "М", "м" => "м",
"Н" => "Н", "н" => "н",
"О" => "О", "о" => "о",
"П" => "П", "п" => "п",
"Р" => "Р", "р" => "р",
"С" => "С", "с" => "с",
"Т" => "Т", "т" => "т",
"У" => "У", "у" => "у",
"Ф" => "Ф", "ф" => "ф",
"Х" => "Х", "х" => "х",
"Ц" => "Ц", "ц" => "ц",
"Ч" => "Ч", "ч" => "ч",
"Ш" => "Ш", "ш" => "ш",
"Щ" => "Щ", "щ" => "щ",
"Ъ" => "Ъ", "ъ" => "ъ",
"Ы" => "Ы", "ы" => "ы",
"Ь" => "Ь", "ь" => "ь",
"Э" => "Э", "э" => "э",
"Ю" => "Ю", "ю" => "ю",
"Я" => "Я", "я" => "я"
);
if ($to_uni) {
$str = strtr($str, $cp);
} else {
foreach ($cp as $c) {
$cpp[$c] = array_search($c, $cp);
}
$str = strtr($str, $cpp);
}
return $str;
}
echo unicon('Москва Тверская 7'); //выводим расшифрованую запись в браузер
?>

А вот ещё нашёл онлайн тулзу для такого рода преобразований http://wwwguru.net/sandbox/index.php
?>
InkMission[78] (Off)
[06.02.11, 22:45]
Декодирует строку в указанную кодировку
<?php
if (is_utf8($string)) $detect='utf-8';
else {
$cp1251=0;
$koi8u=0;
$strlen=strlen($string);
for($i=0;$i<$strlen;$i++) {
$code=ord($string[$i]);
if (($code>223 and $code<256) or ($code==179) or ($code==180) or ($code==186) or ($code==191)) $cp1251++; // а-я, і, ґ, є, Ї
if (($code>191 and $code<224) or ($code==164) or ($code==166) or ($code==167) or ($code==173)) $koi8u++; // а-я, є, і, ї, ґ
}
if ($cp1251>$koi8u) $detect='windows-1251';
else $detect='koi8-u';
}
if ($encoding==$detect) return $string;
else return iconv($detect, $encoding."//TRANSLIT", $string);
}
?>
InkMission[78] (Off)
[06.02.11, 22:46]
Перекодировка из двухбайтового юникода в utf-8
<?php
/**
* Перекодировка из двухбайтового юникода в utf-8
* автор: nc_soft
* 18.09.08
*
*/

//может быть встречались с таким в j2me?
$s='\u041f\u0440\u0435\u0432\u0435\u0434 \u041a\u0440\u0435\u0432\u0435\u0434\u043a\u043e!';

//чтобы перекодировать в нормальный вид можно пошаманить вот так
echo preg_replace('#\\\\u([0-9a-f]{4})#se','iconv("UTF-16BE","UTF-8",pack("H4","$1"))',$s);

/*надеюсь, кому-то пригодится, хотя эти заметки я пишу в основном для себя  */

//upd: способ номер 2
print_r( json_decode('["'.$s.'"]') )
InkMission[78] (Off)
[06.02.11, 22:46]
Масовая всех файлов из одной директории с utf8 на cp1251
<?php

function doit($dir='.'){
$d=opendir($dir);
while($f=readdir($d)){
if($f!=='.' AND $f!=='..'){
echo $f;
if(is_file($dir.'/'.$f)){
echo ' Converting...';

$a=file_get_contents($dir.'/'.$f);
$a=iconv('UTF-8','WINDOWS-1251',$a);
$fp=fopen($dir.'/'.$f,'w');
fwrite($fp,$a);
fclose($fp);
echo ' - OK<br />';
}elseif(is_dir($dir.'/'.$f)){
echo ' changing dir<br />';
doit($dir.'/'.$f);
}else{
echo ' Skipping<br />';
}
}
}
}
doit('.');

?>
DAG-YASTREB-05[581] (Off)
[26.05.11, 13:37]
а как их установить на сайт
Superman1[4] (Off)
[17.07.12, 8:07]
А для чeго эти коды?
Последние ответы