صفحه نخست
  • درباره من
  • نبی کرمعلی زاده
    • نام: نبي کرمعلي زاده
    • متولد: 1360/11/13
    • محل سکونت: اهواز
    • تحصيلات: مهندس آبياري
    • شغل: طراح وب و برنامه نويس
    • علايق: فقط کامپيوتر و دیگر هیچ !



  • آمار بازديد
    • تعداد آنلاین: 3
    • بازدید امروز: 55
    • بازدید دیروز: 230
    • بازدیـد کــل: 17222423
    از تاريخ: 13 بهمن 1385


نوشتن بر روی تصویر توسط PHP
پنجشنبه 29 فروردین 1387 - 3:53:24 بعد از ظهر
Write On Picture With PHP

یکی از دوستان کد ساده ای را به زبان PHP خواستند که توسط آن، جمله ای بر روی عکس نوشته شود؛ به همین خاطر چون فکر کردم جنبه کاربردی زیادی دارد، یک کلاس کامل برای این منظور نوشتم که امیدوارم مورد استفاده قرار بگیرد. از جمله قابلیت های این کلاس، تراز کردن موقعیت قرارگیری متن بر روی تصویر، درج حاشیه (Border)، تعیین شفافیت (Opacity) نوشته و پشتیبانی از انواع فورمت های ورودی و خروجی می باشد.

در ادمه سورس کد این کلاس را بررسی میکنیم.

ادامه مطلب...

 
شما هم SubVersion را لمس کنید !
شنبه 12 آبان 1386 - 7:19:07 قبل از ظهر
سیستم کنترل نسخه
همیشه با SVN و VCS و ... برخورد میکردم ولی بی توجه از کنارشون رد میشدم. چندی پیش در وبلاگ علی فرهادی خیلی گذرا اسم برنامه TortoiseSVN رو شنیدم که اینبار کمی بیشتر کنجاو شدم و در موردش از ایشون پرسیدم که البته فراموش کردم برای گرفتن پاسخ، مجدد به سایت مراجعه کنم و تقریباً فراموش شد. خیلی نگذشته بود تا اینکه چند وقت پیش وقتی از Pablo Fischer یکی از توسعه دهنده های اصلی فریم ورک jaws سراغ بسته piwi رو گرفتم، ایشون گفتند که میتونی از اینجا برداری: svn://dev.jaws-project.com/piwi ، راستش منم دیگه روم نشد که بپرسم این چه پروتوکلیه... این بود که خودم دست به کار شدم و شروع به جستجو کردم.

من (و شاید خود شما) همیشه در برنامه نویسی اینطور عمل میکنم که زمانی که تصمیم دارم تغییرات کلی در فایل ایجاد کنم که مطمئن نیستم نتیجه مطلوب خواهد داشت یا خیر، از فایل مورد نظر یک کپی به عنوان backup در همان مسیر قرار میدم و ابتدای نام فایل یک علامت under line (_) قرار میدم. سپس تغییرات را شروع میکنم. اگر تغییرات به نتیجه نرسید مجدداً آن فایل پشتیبان را جایگزین میکنم. اما همیشه داستان به همین سادگی نیست. گاهی فایلها زنجیروار به یکدیگر مرتبط هستند و تغییر کلی در یک فایل مستلزم تغییرات در فایلهای دیگر نیز هست. در این صورت اگر بعد از چند روز کار متوجه بشم که ایده اولیه و کلی من غلط بوده و کار از اصل اشکال داشته و تصمیم بگیرم که به همان سبک و روش قدیمی کار را ادامه دهم. اینجاست که پیدا کردن و اصلاح تغییرات و بازگرداندن تغییرات فایلها مثلا به چند روز قبل تقریباً غیر ممکن خواهد بود. همچنین همیشه با این قضیه مشکل داشتم که از کجا بدونم کدوم فایل رو مجدد ویرایش کردم و نیاز به آپ لود مجدد بر روی سایت داره و کدوم فایلها تغییری نکرده اند و نیاز به آپ لود مجدد ندارند. از طرف دیگه همیشه به این مسئله اعتقاد داشتم که انجام پروژه های برنامه نویسی به صورت گروهی تقریباً ناممکنه چون اعتقاد داشتم هماهنگی و گردآوری افراد درکنار یکدیگر کار مشکلیست. اما باز هم از اینکه پروژه های زیادی روی وب میدیدم که افراد زیادی در انجام اونها مشارکت دارند و جالب اینکه هر کدوم از این افراد در یک نقطه کره زمین زندگی میکنند، بیشتر متعجب میشدم.

پاسخ به سوالات و مشکلات مطرح شده در بالا مبحثی است که در ادامه به آن خواهیم پرداخت.

ادامه مطلب...

 
استخراج کارنامه های کنکور دانشگاه با HTTP_Request و CURL
يکشنبه 25 شهریور 1386 - 3:16:58 قبل از ظهر
دانشگاه آزاد
شبکه سه، شبهای چهارشنبه یه سریالی پخش میکنه به اسم "راه بی پایان" ، توی یکی از قسمتها یه حسابرسی هست وقتی داره پرونده های مالی اون شرکت رو وارسی میکنه تا از کار اون حسابدار خلاف کاره سردربیاره یه جمله قشنگی میگه، میگه: "مثه ماهی می مونه، توی دست لیز میخوره، تازه داره ازش خوشم میاد".
چند روز پیش یه پروژه ای به نام "KonkoorKill" رو شروع کردم که کارش استخراج کارنامه های کنکور سازمان سنجش بود. بعد از اون سعی کردم برم سراغ کنکور دانشگاه آزاد. انصافاً هم خیلی روش وقت گذاشتم. چند روز همه کارهامو کنسل کردم چسبیدم به این کار. اما اعتراف میکنم که واقعاً اشکم رو در آورد. یه جورایی به قول همون حسابرس باید بگم واقعاً مثه ماهی میموند، بدجوری توی دست لیز میخورد. هر جاشو میگرفتی یه جای دیگش در میرفت. درست درلحظه ای که خیال میکردم همه چیز درسته، با خطا مواجه میشدم. دست آخری درست در لحظه ای که دیگه قطع امید کرده بودم و تصمیم داشتم دستامو به نشانه تسلیم بالا ببرم، گفتم بزار یه ایمیل به اساتید فن بزنم و سوال کنم. خیلی طول نکشید که استاد و دوست عزیز و بامعرفتم "نیما شایافر" که همیشه بهم کمک کرده بهم ایمیل زد و وقتی که گفت بابا این که کاری نداره ...! کلی شاخ در آوردم! با اضافه کردن یه خط کوچولو به برنامه مشکل رو رفع کرد و برنامه جواب داد. واقعاً دستش درد نکنه، همینجا ازش تشکر میکنم. البته همچنین از "نیما جوهری زاده" عزیز که اون هم سعیش رو برای کمک کرد و باهم همفکری داشتیم.
ادامه مطلب...

 
استخراج کارنامه هاي کنکور سراسري و آزاد به صورت پيشرفته
پنجشنبه 15 شهریور 1386 - 7:00:31 قبل از ظهر
سازمان سنجش
چندی پیش که نتایج اولیه آزمون سراسری منتشر شده بود، یکی از دوستان به من گفت که شماره داوطلبیش رو گم کرده و به این ترتیب من هم سعی در نوشتن برنامه ای کردم که بتونه تعداد زیادی شماره داوطلبی رو با روش سعی و خطا امتحان کنه و شماره صحیح رو پیدا کنه. توابع PEAR مثل همیشه کار رو ساده کرده بود، این بود که دست به کار شدم و کد اولیه رو نوشتم. اما وقتی تست کردم دیدم کد کار نمیکنه، بنابراین مشکل رو در سایت مجیدآنلاین مطرح کردم و بلاخره با کمک دوستان موفق شدم کد رو تکمیل کنم و ازش نتیجه بگیرم. اما بعد از اون تاپیک دوستانی پیغام گذاشتند و گفتند که این مشکل ما هم هست و هر کدام به نحوی خواستار سورس کامل برنامه شدند. راستش فکر نمیکردم اینطور با استقبال مواجه بشه و این بود که سورس هسته اصلی برنامه به همراه توضیحات مختصری رو در همون تاپیک قرار دادم. اما از اونجا که برخی دوستان آشنایی با زبان PHP نداشتند، موفق نشدند با برنامه کار کنند. به همین خاطر و با توجه به اینکه هیچگونه برنامه مشابه درباره این موضوع بر روی اینترنت وجود ندارد، فکر نوشتن یه نرم افزار کامل افتادم.

با وجود مشغله زیاد تونستم امروز این برنامه رو آماده کنم و برای دون لود قرار بدم.

ادامه مطلب...

 
ارسال ایمیل به صورت قانونی توسط SMTP - بخش نخست
پنجشنبه 21 تیر 1386 - 4:06:17 قبل از ظهر

شاید شما هم به عنوان یک برنامه نویس PHP جهت ارسال ایمیل از قطعه کد زیر استفاده میکنید:

<?php
mail ("recipient@nabi.ir", "subject", "body", "From: sender@nabi.ir");
?>

همانطور که میدانید تابع ()mail در PHP از انعطاف پذیری زیادی برخوردار نمی باشد و ایمیلهایی که توسط این تابع ارسال می شوند، غالباً به صورت گمنام یا اصطلاحاً nobody ارسال خواهند شد. این مسئله برای یک مدیر سرور از اهمیت ویژه ای برخوردار است. چراکه احتمال اینکه آن ایمیل از سمت گیرنده، به صورت خودکار spam محسوب شود و به bulk انتقال یابد بسیار زیاد است. چـه بسـا ممکن اسـت IP سـرور مسدود (block) شود و مشکلات دیگری را ناشی شود.

راه حلی که وجود دارد استفاده از SMTP Server به صورت قانونی (Authentication) می باشد. خوشبختانه وجود بستۀ PEAR Mail برای PHP کار را آسان کرده است و توسط آن بسادگی میتوان ایمیل های مطمئن ارسال کرد. ایمیلهایی که بدین صورت ارسال خواهند شد غالباً در inbox دریافت کننده قرار خواهند گرفت.

ادامه مطلب...

 
نمایش خروجی html شما در سایتهای دیگر توسط JavaScript و PHP
سه شنبه 24 بهمن 1385 - 1:00:56 قبل از ظهر

نگران سوژه برای نوشتن بودم .
تا اینکه فرحان از دوستان خوبم یه سوال پرسید که برام شد سوژه و بد ندونستم در این باره بنویسم.

حتماً دقت کرده اید سایتهایی مثل netsups ، persianstat و یا webstats4u و امثالهم در سرویس هایی که ارائه میدهند، اغلب یک کد جاوا اسکریپت در اختیار شما قرار میدهند که با قرار کد دادن آن در سایتتان آمار بازدید و یا فرم های مختلف لابلای کدهای سایتتان ظاهر میشود.
شاید شما یک سایت فروش سی دی داشته باشید. و بخواهید یک محصول را به طور تصادفی در سایتهای دیگر نمایش دهید. چه راهی به ذهنتان میرسد؟
در همچین مواقعی شاید منطقی ترین راه استفاده از فنآوری XML و البته فرمت معروف RSS باشد. این نوع فایلها به تعبیر من و به زبان ساده در واقع میشود گفت یک بانک اطلاعاتی کوچک مبتی بر فایل با فرمت و ساختار مشخص و تعریف شده هستند. این فایلها میتوانند جدیدترین اطلاعات سایت را برای ارائه به کاربران در خود داشته باشند و با هر بار تقاضای کاربر بروز خواهند شد. این فایلها برای خوانده شدن نیاز به برنامه نویسی و کد نویسی و تعریف ساختار و قالب نمایشی دارند چرا که اطلاعات درون این فایلها داده های خام هستند و ایجاد و ساخت قالب نمایشی به عهده استفاده کننده می باشد. که البته این خود مزیت بزرگی محسوب میشود و انعطاف پذیری این تکنولوژی را باعث شده است و شاید همین مسئله باعث محبوبیت آنها نیز شده است. اما مشکلی که در این میان وجود دارد این است که شاید کاربر استفاده کننده دانش برنامه نویسی نداشته باشد و نتواند خروجی این فایلها را تجزیه و تحلیل کند و در سایت خود استفاده نماید. پس راه حل چیست ؟!

ادامه مطلب...