نمونه برنامه موتور جستجو
دوستان من اين برنامه رو اينجا قرار مي دم تا دوستان ازش بتونن استفاده كنند
فقط من بحث هاي امنيتي رو لحاظ نكردم
Printable View
نمونه برنامه موتور جستجو
دوستان من اين برنامه رو اينجا قرار مي دم تا دوستان ازش بتونن استفاده كنند
فقط من بحث هاي امنيتي رو لحاظ نكردم
//////////
//////////
فشرده كردن فضاهاي خالي غير ضروري:
$busca = array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s');
جدا كردن اعداد از يك رشته عبارت:
$busca = array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s');
//-------------------------
Example:
?d=52;d;s;s'2233l'[[22
Outpt:
Cleared value: 52223322
//////////
جلوگیری از اجرای اسکریپتهایی که باید include بشن:
این کد رو ابتدای اسکریپتهایی که میخواین مستقیماً قابل اجرا نباشن اضافه کنید تا فقط بشه اونها رو require کرد:
$script = pathinfo($_SERVER['SCRIPT_FILENAME'], PATHINFO_BASENAME);
$file = pathinfo(__FILE__, PATHINFO_BASENAME);
if($script == $file) {
header('location: index.php');
exit();
}
البته اینم میشه :
if(realpath($_SERVER['SCRIPT_FILENAME']) == realpath(__FILE__)) {
header('location: index.php');
exit();
}
//////////
البته کلاس هم مزایای خاص خودش رو داره. بخصوص مباحثی که مرتبط با Encapsulation و تعیین سطح دسترسی هست. بعلاوه میتونید Snippetهای مختلف رو توی یک کلاس با نام دلخواه قرار بدین و با ایجاد یک شئ از اون کلاس، به همه اونها دسترسی پیدا کنید. حتی میتونید اونها رو از نوع static تعریف کنید که دیگه نیازی به ساخت شئ هم نباشه. بحث وراثت که وسط میاد، قدرت اصلی شئ گرایی توش مشخص میشه. درمورد Interfaceها و کلاسهای Abstract و... هم که بهتره صحبت نکنیم چون فکر نمیکنم دیگه کسی باقی بمونه که بخواد از روش رَویه گرا (Procedural) استفاده کنه و همه بسمت OOP حرکت کنن. البته باز هم تأکید میکنم شئ گرایی یک امتیازه نه یک اجبار و از این جهت، PHP خیلی خوب تونسته تعادل مناسبی بین برنامه نویسی Procedural و Object Oriented برقرار کنه. موفق باشید.
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
اين هم يك تكه كد واقعا به درد بخور
function wordsub($string,$len=10,$str2='...')
{
$array=explode(' ',$string,$len+1);
array_pop($array);
return implode(' ',$array).' '.$str2;
}
كار اين تك كد اينه كه شما يك رشته رو بهش پاس مي دين و مي گيد كه مثلا n تا كلمه اول رو جدا كنه و به جاي بقيه پارامتر سوم رو بذاره
اسنیپت یعنی "قعطه کد" .
اینجا هم یه سری بزنید :
http://phpsnips.com/
باسلام:
ارسال ایمیل با کاراکترهای فارسی.....!
//////////
//////////
تبدیل عکس به متن
موفق باشید.کد HTML:<!doctype html>
<html>
<head>
<title>ASCII Image</title>
</head>
<body>
<?php
function ascii_image($image) {
$result = '';
if(file_exists($_GET['image'])) {
if(substr($image, strrpos($image, '.')) == '.jpg') {
$img = imagecreatefromjpeg($image);
$result .= '<style type="text/css">'.PHP_EOL;
$result .= '.ascii_image {'.PHP_EOL;
$result .= 'font-family: Tahoma;'.PHP_EOL;
$result .= 'font-size: 1px;'.PHP_EOL;
$result .= 'line-height: 1px;'.PHP_EOL;
$result .= '}'.PHP_EOL;
$result .= '</style>'.PHP_EOL;
$iw = imagesx($img);
$ih = imagesy($img);
$result .= '<div class="ascii_image">'.PHP_EOL;
for($h = 0; $h < $ih; $h++) {
for($w = 0; $w < $iw; $w++) {
$rgb = imagecolorat($img, $w, $h);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = ($rgb >> 0) & 0xFF;
$result .= '<span style="color: rgb('.$r.','.$g.','.$b.');">#</span>';
}
$result .= '<br/>'.PHP_EOL;
}
$result .= '</div>'.PHP_EOL;
}
else {
$result .= 'Wrong File Type';
}
}
return $result;
}
// How to use it ?
if(isset($_GET['image'])) {
echo ascii_image($_GET['image']);
}
?>
</body>
</html>
تبدیل عکسهای رنگی به سیاه و سفید:
<?php
header('Content-type: image/jpeg');
if(!isset($_GET['file']) || !file_exists($_GET['file']) || strtolower(substr($_GET['file'], strrpos($_GET['file'], '.'))) != '.jpg') {
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefill($im, 50, 50, $white);
imagestring($im, 5, 30, 40, 'Error', $black);
imagejpeg($im);
imagedestroy($im);
exit();
}
$file = $_GET['file'];
list($width, $height) = getimagesize($file);
$source = imagecreatefromjpeg($file);
$bwimage = imagecreate($width, $height);
$palette = array();
for ($i = 0; $i < 256; $i++) {
$palette[$i] = imagecolorallocate($bwimage, $i, $i, $i);
}
for($y = 0; $y < $height; $y++) {
for($x = 0; $x < $width; $x++) {
$color = imagecolorat($source, $x, $y);
$r = ($color >> 16) & 0xFF;
$g = ($color >> 8) & 0xFF;
$b = ($color >> 0) & 0xFF;
$gs = ($r * 0.299) + ($g * 0.587) + ($b * 0.114);
imagesetpixel($bwimage, $x, $y, $palette[$gs]);
}
}
imagejpeg($bwimage);
imagedestroy($source);
imagedestroy($bwimage);
?>
مثال از نحوه فراخوانی:
امیدوارم این هم به درد بخورهکد HTML:<img src="bw.php?file=image.jpg"/>
یک نکته هم یادم رفت بگم و اون اینکه میشه کد فوق رو کمی گسترش داد و مثلاً چهار پارامتر x و y و w و h رو براش به روش GET بفرستیم و با کمی تغییر در کد، کاری کنیم که فقط همون قسمت از تصویر سیاه و سفید بشه یا برعکس، همه تصویر سیاه و سفید بشه و اون قسمت فقط رنگی بمونه.
وادار کردن صفحه به Refresh شدن در زمان دلخواه:
header('Refresh: 1');
به جای 1 زمان دلخواه رو برحسب ثانیه بنویسید. فکر میکنم توی پروژه هایی مثل ساخت چت روم کاربرد خوبی داشته باشه. بعلاوه با ترکیب سشن و کوکی و... میشه کاری کرد که فقط به تعداد دفعات محدودی این عمل انجام بشه. موفق باشید.
تولید CAPTCHA راحت و قوی و قابل تنظیم:
<?php
// Configuration
$height = 75;
$width = 300;
$length = 6;
$lineCount = 25;
$circleCount = 25;
$maxRadius = 50;
$space = 40;
// Generate random code
session_start();
$alpha = array_merge(range('a', 'z'), range('0', '9'));
$string = '';
for($i = 0; $i < $length; $i++) {
$string .= $alpha[rand() % count($alpha)];
}
$_SESSION['captcha'] = $string;
// Create image
header('Content-type: image/png');
$im = imagecreate($width, $height);
// Create colors
$backColor = imagecolorallocate($im, 255, 255, 255);
$textColor = imagecolorallocate($im, 0, 127, 255);
$lineColor = imagecolorallocate($im, 127, 191, 255);
// Assign font
$font = './Disney.ttf';
$fontsize = $height * 0.75;
// Calculate the bounding box of the text
$box = imagettfbbox($fontsize, 0, $font, $string);
// Start position of the text
$positionX = ($width - $space * $length) / 2;
// Rotation Direction (1: Anti-clockwise, -1: Clockwise)
$direction = 1;
// Fill the image with background color
imagefill($im, $width / 2, $height / 2, $backColor);
// Write the text in the image using font, rotation, position, etc.
for($i = 0; $i < $length; $i++) {
$char = substr($string, $i, 1);
imagettftext($im, $fontsize, (rand() % 30 * $direction), $positionX, ($height - $box[5]) / 2 - 2, $textColor, $font, $char);
$direction = -$direction;
$positionX += $space;
}
// Add lines to the image
for($i = 0; $i < $lineCount; $i++) {
$x1 = rand() % $width;
$y1 = rand() % $height;
$x2 = rand() % $width;
$y2 = rand() % $height;
imageline($im, $x1, $y1, $x2, $y2, $lineColor);
}
// Add circles to the image
for($i = 0; $i < $circleCount; $i++) {
$cx = rand() % $width;
$cy = rand() % $height;
$rx = rand() % $maxRadius;
$ry = rand() % $maxRadius;
$start = rand() % 360;
$end = rand() % 360;
imagearc($im, $cx, $cy, $rx, $ry, $start, $end, $lineColor);
}
imagepng($im);
imagedestroy($im);
?>
نمونه استفاده:
موفق باشید.کد HTML:<img src="captcha.php"/>
//////////
//////////
//////////
//////////
//////////
//////////
نمایش بخشی از تصویر
<?php
header('Content-type: image/jpeg');
if(!isset($_GET['file']) || !file_exists($_GET['file']) || strtolower(substr($_GET['file'], strrpos($_GET['file'], '.'))) != '.jpg') {
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefill($im, 50, 50, $white);
imagestring($im, 5, 30, 40, 'Error', $black);
imagejpeg($im);
imagedestroy($im);
exit();
}
$src = imagecreatefromjpeg($_GET['file']);
$sw = imagesx($src);
$sh = imagesy($src);
$x1 = (isset($_GET['x1']) && is_numeric($_GET['x1']) && $_GET['x1'] >= 0 && $_GET['x1'] < $sw) ? (int) $_GET['x1'] : 0;
$y1 = (isset($_GET['y1']) && is_numeric($_GET['y1']) && $_GET['y1'] >= 0 && $_GET['y1'] < $sh) ? (int) $_GET['y1'] : 0;
$x2 = (isset($_GET['x2']) && is_numeric($_GET['x2']) && $_GET['x2'] >= 0 && $_GET['x2'] < $sw) ? (int) $_GET['x2'] : $sw;
$y2 = (isset($_GET['y2']) && is_numeric($_GET['y2']) && $_GET['y2'] >= 0 && $_GET['y2'] < $sh) ? (int) $_GET['y2'] : $sh;
$tl = array('x' => min ($x1, $x2), 'y' => min($y1, $y2));
$br = array('x' => max ($x1, $x2), 'y' => max($y1, $y2));
$dw = abs($x1 - $x2);
$dh = abs($y1 - $y2);
$dst = imagecreatetruecolor($dw, $dh);
imagecopyresized($dst, $src, 0, 0, $tl['x'], $tl['y'], $dw, $dh, $br['x'], $br['y']);
imagejpeg($dst);
imagedestroy($dst);
imagedestroy($src);
?>
مثالی از نحوه استفاده:
(با فرض اینکه کد فوق رو به اسم pim.php ذخیره کرده باشین).کد HTML:<img src="pim.php?file=image.jpg&x1=50&y1=50&x2=200&y2=100"/>
کاربرد اصلی این اسکریپت برای وقتی هست که میخواین یک تصویر رو بصورت تکه تکه نشون بدین و با CSS تنظیم کنید تا کنار هم ظاهر بشه. دیگه نیازی نیست توی Photoshop یا سایر برنامه ها تصویر رو برش بدین و توی فایلهای جداگانه ذخیره کنید و در فضای هاست هم صرفه جویی میشه چون برای هر فایل جداگانه، هدرهای تصویر ذخیره میشن و این یعنی تکرار هدرها. کد فوق رو با کمی تغییر میتونید برای سایر انواع تصویر مثل png و... هم استفاده کنید.
موفق باشید.
Backup گرفتن از دیتابیس
<?php
function backup_db($host, $user, $pass, $name, $tables = '*') {
date_default_timezone_set('Asia/Tehran');
$return = '';
mysql_connect($host,$user,$pass) or die('Connection error');
mysql_select_db($name) or die('Database error');
mysql_query('SET NAMES \'utf8\'');
mysql_set_charset('utf8');
if($tables == '*') {
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result)) {
$tables[] = $row[0];
}
mysql_free_result($result);
}
else {
$tables = is_array($tables) ? $tables : explode(',', $tables);
}
foreach($tables as $table) {
$result = mysql_query('SELECT * FROM `'.$table.'`');
$num_fields = mysql_num_fields($result);
$return .= 'DROP TABLE IF EXISTS `'.$table.'`;'.PHP_EOL.PHP_EOL;
$row = mysql_fetch_row(mysql_query('SHOW CREATE TABLE `'.$table.'`'));
$return .= $row[1].';'.PHP_EOL.PHP_EOL;
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysql_fetch_row($result)) {
$return.= 'INSERT INTO `'.$table.'` VALUES(';
for($j = 0; $j < $num_fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace('\n', '\\n', $row[$j]);
if (isset($row[$j])) {
$return .= '\''.$row[$j].'\'';
}
else {
$return .= '\'\'';
}
if ($j < ($num_fields - 1)) {
$return .= ',';
}
}
$return .= ');'.PHP_EOL;
}
}
$return .= PHP_EOL.PHP_EOL.PHP_EOL;
}
$handle = fopen('db-backup-'.$name.'-'.date('Y,m,d-H,i,s').'.sql', 'w');
fwrite($handle, $return);
fclose($handle);
}
?>
مثالی از نحوه استفاده:
backup_db('localhost', 'root', '', 'your_db_name');
امیدوارم توی پروژه هاتون هرجا نیاز به Backup گرفتن داشتین، به دردتون بخوره. موفق باشید.
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////
//////////