لینک کوتاه
جمعه , 17 مرداد 1393
13 دیدگاه
شاید بسیار برایتان پیش آمده باشد که در پروژه ای لازم هست که شماره ملی کاربر را دریافت کنید
و شاید تا الان تنها اعتبارسنجی که انجام میدادید چک کردن ده رقمی بودن و فقط عدد بودن کد ملی بوده
بنا به دلایلی لازم شد که واقعا صحت کد ملی کاربر را بوسیله آلگوریتمی تشخیص دهیم پس با استفاده از توضیحات جناب
علی آرش اقدام به پیاده سازی یک تابع کردیم که به شرح زیر است
+ این فانکشن در تاریخ 1395/09/01 بروزرسانی شد
function checkNationalCode($code='')
{
$code = (string) preg_replace('/[^0-9]/','',$code);
if(strlen($code)>10 or strlen($code)<8)
return false;
if(strlen($code)==8)
$code = "00".$code;
if(strlen($code)==9)
$code = "0".$code;
$list_code = str_split($code);
$last = (int) $list_code[9];
unset($list_code[9]);
$i = 10;
$sum = 0;
foreach($list_code as $key=>$_)
{
$sum += intval($_) * $i;
$i--;
}
$mod =(int) $sum % 11;
if($mod >= 2)
$mod = 11 - $mod;
if( $mod != $last)
return false;
for($i=0;$i<10;$i++)
{
$str = str_repeat($i,10);
if($str==$code)
return false;
}
return true;
}
لینک کوتاه
یکشنبه , 25 خرداد 1393
4 دیدگاه
برای ارسال ایمیل با smtp ابتدا به مدیریت سی پنل خود بروید و یک ایمیل بسازید . فرض میکنیم ایمیل شما
info@example.com میباشد .
اطلاعات smtp شما میشود
یوزر info@example.com
پسورد ~ همان پسوری که برای اکانت ایمیل قرار دادید
سرور میل mail.example.com
پورت معمولا 25
حالا به صفحه اکستنشن Yii بروید (http://www.yiiframework.com/extension/smtp-mail )
از گوشه سمت راست فایل اکستنشن را بگیرید و در پوشه مورد نظر یعنی در آدرس protected/extensions قرار بدید .
حال فایل config/main.php را باز کنید و در آرایه components اضافه کنید .
'components'=>array(
'Smtpmail'=>array(
'class'=>'application.extensions.smtpmail.PHPMailer',
'Host'=>"mail.example.com",
'Username'=>'info@example.com',
'Password'=>'yourpass',
'Mailer'=>'smtp',
'Port'=>25,
'SMTPAuth'=>true,
),
),
اکنون برای ارسال ایمیل میتوانید هر جا از دستور زیر استفاده کنید
$from = 'info@example.com';
$to = 'example@gmail.com';
$subject = "این عنوان ایمیل است";
$message = "این متن ایمیل است";
$mail=Yii::app()->Smtpmail;
$mail->SetFrom($from, 'From NAme');
$mail->Subject = $subject;
$mail->MsgHTML($message);
$mail->AddAddress($to, "");
if(!$mail->Send())
echo "Mailer Error: " . $mail->ErrorInfo;
else
echo "Message sent!";
به همین سادگی !
لینک کوتاه
سه شنبه , 23 اردیبهشت 1393
2 دیدگاه
اگر شما هم از فریم ورک Yii استفاده میکنید به احتمال زیاد کش رو روی FileCache یا شایدم ApcCache گذاشته باشید ، این این مطلب قصد دارم نشون بدم میتونید از پایگاده داده sqlite هم برای کش کردن استفاده کنید .
sqlite پایگاده داده سبک و سریعی هست که در یک فایل ساخته میشود و بصورت sql میتوانید به آن دستور بدهید .
برای کانفیگ کش پیشفرض Yii به روش زیر عمل کنید .
ابتدا فایل protected/config/main.php را باز کنید و در آرایه components اضافه کنید
'components'=>array(
'db2'=>array(
'class'=>'CDbConnection',
'connectionString' => 'sqlite:protected/runtime/cache.db',
'tablePrefix' => 'tbl_',
),
سپس کانفیگ کش رو هم به شکل زیر تغییر بدید .
'cache'=>array(
'class'=>'system.caching.CDBCache',
'connectionID'=>'db2',
),
تموم شد حالا میتونید تست کنید :)
Yii::app()->cache->set('exampleKey', 'reza test sqlite cache' ,200);
echo Yii::app()->cache->get('exampleKey');
لینک کوتاه
جمعه , 12 اردیبهشت 1393
21 دیدگاه
برای انجام عملیات پرداخت آنلاین باید مشتری را به مرحله ای برسانید که باید به درگاه برود و مبلغ را پرداخت کند .
در این مرحله شما باید شماره فاکتور عددی و همچنین مبلغ پرداختی را مشخص کرده باشید .
(داخل پرانتز : شما باید سه پارامتر MerchandID و TerminalID و TransactionKey که مربوط به اطلاعات پذیرندگی شماست داشته باشید و قبلا برای گرفتن درگاه به شرکت سداد مراجعه کرده باشید .)
برای اتصال به وبسرویس سداد در پی اچ پی شما باید از کلاس nusoap استفاده کنید .
آدرس وبسرویس سداد به شکل زیر است
که اینگونه در برنامه ما استفاده میکنیم
ادامه مطلب ...
لینک کوتاه
سه شنبه , 20 اسفند 1392
4 دیدگاه
خب اینم عیدی سال جدید من به شما
یک مثال برای پیاده سازی تکنیک comet چت رومها .
کافیه فایلها رو دانلود کنید و در یک پوشه از هاستتون قرار بدید .
بدون نیاز به دیتابیس میتونید یک محیط چت ساده بسازید :)
میتونید از لینکهای زیر دانلود کنید .
[دانلود]
[لینک دانلود دوم]
# ببخشید که توضیحات زیادی نمیدم ، یه خورده سرم شلوغه ، سورس کدها گویا هستن ، سوالی بود مطرح کنید در خدمتم .
لینک کوتاه
جمعه , 05 مهر 1392
1 دیدگاه
lighttpd : لایتی همانطور که از اسمش پیداست ، یک وبسرور کم مصرف هست چه از نظر مصرف حافظه و چه از نظر درگیر کردن سی پی یو ، به تعریف سایت خودش Security, speed, compliance, and flexibility -- all of these describe lighttpd (pron.lighty)
Percona : در یک کلام ، جایگزینی شایسته برای MySQL به تعریف سایت خودش
Percona has made MySQL faster and more reliable for over 2,000 consulting and support customers worldwide
php-fpm : ساده است ،اجرای پی اچی پی بصورت FastCGI یعنی سرعت واقعی :)
خب ، لازم نیست زیاد در موردشون صحبت کنم اما اگر تمایل دارید میتونید سری به سایتهاشون بزنید ، اما هدف من چیز دیگه ای هست !
واقعا چی میشد کل اینها رو با هم داشت؟ در ادامه روش نصب و کانفیگ برروی سرور اوبونتو توضیح داده میشود
ادامه مطلب ...
لینک کوتاه
یکشنبه , 13 مرداد 1392
15 دیدگاه
nginx یک وبسرور خوب و مناسب برای بازدید های بالاست ، کانفیگ این وبسرور با آپاچی متفاوت هست لذا اگر قرار هست سایتتون رو روی سروری با این وبسرور پیاده کنید ، بهتره روی سیستمتون هم همین وبسرور رو داشته باشید .
استفاده nginx روی سیستم شخصی با پی اچ پی خیلی ساده است . قدم اول ابتدا از http://nginx.org/en/download.html نسخه مناسب رو دانلود کنید و در درایو C ویندوز قرار بدید بصورت C:\nginx\nginx.exe
در دسترس باشد سپس در http://windows.php.net/download/ نسخه مناسبی رو دانلود کنید و محتویات فایل رو در شاخه C:\nginx\php
قرار بدید به طوریکه فایل php-cgi.exe در آدرس زیر قابل دسترس باشد C:\nginx\php\php-cgi.exe
حال نوبت به کانفیگ nginx جهت اجرای php تحت cgi میرسیم .
در داخل شاخه C:\nginx\conf
فایل nginx.conf رو باز کنید . در داخل بلاک server {
...
}
دستور زیر را اضافه کنید
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME c:/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
حالا فایل رو ذخیره کنید سپس روی nginx.exe کلیک کنید .
در منوی start ویندوز ، قسمت run تایپ کنید cmd ، و سپس دستور
c:\nginx\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
رو اجرا کنید ، cmd رو نبندید!!
حالا در شاخه C:\nginx\html
یه فایل بسازید به اسم phpinfo.php و دستورات قرار دهید.
حال از طریق مرورگر آدرس http://127.0.0.1/phpinfo.php را ببینید .
نصب تمام شد
لینک کوتاه
یکشنبه , 30 تیر 1392
15 دیدگاه
ظاهراً توی وب فارسی باب شده ، بعد از گذشت 12ماه ، از تاریخ ساخت وبلاگ/وبسایتهاشون براشون تولد میگیرن ، من یکی که اهل ریخت و پاش نیستم ، ماه رمضون هم هست .
فقط خواستم بگم این وبلاگ (reza.biz/blog) وارد 4 سالگی شد ، اینو وقتی پیغام تمدید دامنه برام اومد فهمیدم .
یکی از دوستان ازم پرسید تو چندتا سایت داری ، خب فکر کنم بهانه خوبی باشه چند تا از سایتهامو معرفی کنم .
اولین سایت ، کارگاه خودم rezaworkshop.ir که با آدرس reza.in هم قابل دسترس هست .
سایت بعدی انجمن مارکت سازان هست به نشانی marketsazan.net
یک سایت فروشگاه دانلود هم به زودی راه اندازی میشه که انشاالله بعدا خبر انتشارش رو اعلام میکنم .
توی این مدت مثل همیشه نتونستم توی این وبلاگ مطالب زیادی بنویسم ، باز مثل سالهای قبل ، امیدوارم این سال بتونم مطالب بیشتری بنویسم .
یا حق