شما عضو این انجمن نبوده یا وارد نشده اید. لطفا برای مشاهده کامل انجمن و استفاده از آن وارد شوید یا ثبت نام کنید .

مهمان گرامی، خوش‌آمدید!
شما قبل از این که بتوانید در این انجمن مطلبی ارسال کنید باید ثبت نام کنید.

نام کاربری
  

گذرواژه‌
  





جستجوی انجمن‌ها

(جستجوی پیشرفته)

آمار انجمن
» اعضا: 3,490
» آخرین عضو: tima9852
» موضوعات انجمن: 10,295
» ارسال‌های انجمن: 14,466

آمار کامل

کاربران آنلاین
در حال حاضر 389 کاربر آنلاین وجود دارد.
» 0 عضو | 389 مهمان
،

آخرین موضوع‌ها
چرا کردان بهترین مقصد برا...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۷، ۰۱:۵۶ عصر
» پاسخ: 0
» بازدید: 33
ویلاهای استخردار: انتخابی...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۷، ۰۱:۵۵ عصر
» پاسخ: 0
» بازدید: 36
راهنمای کامل رزرو ویلا بر...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۷، ۰۱:۵۲ عصر
» پاسخ: 0
» بازدید: 37
ویلا؛ انتخاب اول برای اقا...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۰، ۰۶:۰۷ عصر
» پاسخ: 0
» بازدید: 45
اجاره ویلا در رشت؛ شهری ب...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۰، ۰۶:۰۲ عصر
» پاسخ: 0
» بازدید: 50
سوئیت در اصفهان؛ اقامتی ر...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱۰، ۰۵:۵۸ عصر
» پاسخ: 0
» بازدید: 44
آشنایی با انواع تیغه برف ...
انجمن: معرفی سایت، وبلاگ و خدمات
آخرین ارسال توسط: tehranyekta
۰۴/۲/۸، ۰۵:۵۴ عصر
» پاسخ: 0
» بازدید: 48
دلیل ضرورت اعتقاد به جهان...
انجمن: معرفی سایت، وبلاگ و خدمات
آخرین ارسال توسط: سارینا افخمی
۰۴/۲/۶، ۱۱:۲۴ صبح
» پاسخ: 0
» بازدید: 51
آیا در قیامت با همین بدن ...
انجمن: گفتگوی آزاد
آخرین ارسال توسط: سارینا افخمی
۰۴/۲/۶، ۱۱:۱۹ صبح
» پاسخ: 0
» بازدید: 32
[EZG.com] Selling Cheap/S...
انجمن: موبایل و تبلت
آخرین ارسال توسط: RyujiSaeki
۰۴/۲/۳، ۰۱:۵۸ عصر
» پاسخ: 0
» بازدید: 71
تفاوت کولر گازی، اسپلیت و...
انجمن: معرفی سایت، وبلاگ و خدمات
آخرین ارسال توسط: webcade
۰۴/۲/۲، ۰۵:۴۱ عصر
» پاسخ: 0
» بازدید: 45
انواع سیم جوش‌های مخصوص ج...
انجمن: معرفی سایت، وبلاگ و خدمات
آخرین ارسال توسط: webcade
۰۴/۲/۱، ۰۶:۲۸ عصر
» پاسخ: 0
» بازدید: 48
اقامت در ویلایی آرام در د...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱، ۰۱:۲۲ عصر
» پاسخ: 0
» بازدید: 63
رزرو اقامتگاه بومگردی در ...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱، ۱۲:۴۹ عصر
» پاسخ: 0
» بازدید: 68
لذت اقامت در دل جنگل های ...
انجمن: سفرهای داخلی
آخرین ارسال توسط: arvin912
۰۴/۲/۱، ۱۲:۳۰ عصر
» پاسخ: 0
» بازدید: 47

 
  ارسال ایمیل با php و کلاس phpmailer
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۷:۰۲ عصر - انجمن: PHP - بدون پاسخ

ارسال ایمیل از طریق برنامه های سمت سرور و از جمله php، یکی از رایج ترین مباحث کاربردی در نوع خود است که دیر یا زود برنامه نویس زبان php یا لااقل علاقمند استفاده از آن را درگیر خود می کند، اگرچه php به طور پیش فرض توابعی برای ارسال ایمیل در مفسر خود گنجانده است، اما گستره استفاده از این امکان و نیازهای کاربران به حدی است که نمی توان تنها بر آن متکی بود، از طرفی بحث ارسال ایمیل با توجه به محدودیت ها و قابلیت های سرورهای مختلف، گاهی پتانسیل تبدیل شدن به یک مشکل به ظاهر پیچیده را دارد و این چیزی است که بعضا فکر و ذهن برخی از کاربران را مشغول خود می کند، به همین خاطر در این آموزش قصد داریم در حد امکان بپردازیم به نحوه ارسال ایمیل با php و کلاس phpmailer، با این امید که مفید واقع شود.

ارسال ایمیل در php با تابع mail
برای ارسال ایمیل در php روش های مختلفی وجود دارد، ساده ترین راه،  ارسال ایمیل با استفاده از تابع درونی و از پیش تعریف شده ()mail و SMTP بدون بررسی نام کاربری و رمز عبور (authentication) است، معمولا، کافی است این تابع را با چند آرگومان فراخوانی کنید تا ایمیل شما ارسال شود، به طور مثال:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- تابع mail به صورت از پیش تعریف شده در php وجود دارد و تنها کافی است آن را با تکمیل پارامترها، فراخوانی کنیم.
- کارکرد صحیح این تابع، تا حدود زیادی بستگی به تنظیم درست موارد مورد نیاز آن در فایل php.ini دارد (از جمله smtp_port ،SMTP ،sendmail_from در سرورهای ویندوز و sendmail_path در سرورهای لینوکس)، در سرورهای اشتراکی، معمولا دسترسی به فایل اصلی php.ini امکان پذیر نیست، بنابراین اگر نتوانید با تابع mail ایمیل ارسال کنید، به احتمال زیاد تنظیمات این فایل به درستی انجام نشده است یا سرور هاست شما، قابلیت ارسال ایمیل را محدود کرده است که باید با پشتیبانی خود در این مورد تماس بگیرید.
- همانطور که ملاحظه می کنید، این تابع سه پارامتر اصلی و چند پارامتر فرعی را می تواند در هنگام ارسال ایمیل پوشش دهد، پارامترهای اصلی آدرس ایمیل دریافت کننده، موضوع و متن پیام است، پارامترهای اضافی به صورت سربرگ ها قابل استفاده هستند که به طور مثال می توانند به صورت زیر باشند:


*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

- علامت r\n\ در کدهای بالا برای ایجاد یک خط جدید استفاده می شوند.
- MIME یک استاندارد اینترنتی برای ارسال و دریافت ایمیل است (Multipurpose Internet Mail Extensions)، همچنین است SMTP که مخفف (Simple Mail Transfer Protocol) است.

ارسال ایمیل به صورت html با تابع mail
تابع mail علاوه بر ارسال ایمیل به صورت متن ساده یا plain text برای ارسال متون به صورت صفحات html نیز قابل استفاده است، بدین منظور دو کار را باید در هنگام ارسال ایمیل انجام دهیم:
1- متن پیام ما باید به صورت یک کد html باشد، درست شبیه صفحات ساده وب که به صورت html هستند.
2- در قسمت سربرگ ها که در بالا عنوان شد، سربرگ زیر را برای پشتیبانی از زبان فارسی، به کد خود اضافه کنیم:


*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

به طور مثال:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

البته ارسال سربرگ های اضافی همیشه هم ضروری نیست، برخی از سرویس های ایمیل به طور پیش فرض از یونیکد utf-8 استفاده می کنند، اما برای اطمینان از اینکه ایمیل شما در همه سیستم ها خوانا و قابل استفاده باشد، بهتر است سربرگ utf-8 را همراه ایمیل خود ارسال کنید.

ارسال فایل ضمیمه با تابع mail در php
ارسال ایمیل بدون فایل های ضمیمه یا همان attachment با تابع mail در php کار چندان سختی نیست، اما اگر بخواهیم به همین صورت فایل ها را نیز به همراه نامه الکترونیک خود ضمیمه کنیم، باید چند کار دیگر را نیز انجام دهیم که در ادامه خواهیم گفت؛ ابتدا کد زیر را در نظر بگیرید:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

کد بالا با استفاده از تابع mail در php، علاوه بر ارسال متن ساده و متن به صورت html قابلیت ارسال فایل ضمیمه (attachment) را نیز دارد.

توضیح:
- قبل از هر چیز در هنگام ارسال ایمیل با ضمیمه، ما به سربرگی تحت عنوان boundary یا سرحد و کرانه احتیاج داریم، برای تفکیک قسمت های مختلف یک ایمیل  (از جمله متن ساده، متن به صورت html و فایل ضمیمه) در استاندارد MIME باید از کدهای رندوم تحت عنوان boundary استفاده کنیم، البته در واقع مهم نیست این کد شامل چه عبارتی (از حروف و اعداد) باشد، مهم این است که سیستم دریافت کننده ایمیل بتواند قسمت های مختلف آن را تفکیک کند، از طرفی این کد نباید در متن پیام تکرار شده باشد، لذا معمولا از یک کد رندوم اختصاصی استفاده می شود.
- نکته مهم دیگر استفاده از تابع chunk_split و base64_encode است، به این صورت فایل ما برای انتقال به قطعات کوچکتری تقسیم شده و در چارچوب استاندارد RFC 2045 قابل انتقال است.
- همانطور که ملاحظه می کنید، در سربرگ های اولیه، مقادیر multipart/mixed را برای Content-Type در نظر گرفته ایم که این کار به دلیل ضمیمه بودن فایل به ایمیل است.
- در دو قسمت میانی کد، دو نوع متن به صورت plain text و text html ارسال کرده ایم که شما بنا بر ضرورت می توانید از هر دو یا تنها از یک روش استفاده کنید.
- نکته مهم دیگر استفاده از application/zip برای Content-Type در قسمت مربوط به فایل ضمیمه است، برای بدست آوردن Content-Type فایل های مختلف با فرمت های متفاوت، کافی است آدرس فایل خود را در سرور یا در لوکال هاست در کد زیر به جای متغیر فرضی file جایگزین کرده و آن را اجرا کنید، خروجی، Content-Type فایل شما را نشان می دهد:


*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

ارسال ایمیل با استفاده از کلاس phpmailer
اگرچه کاربرد تابع mail در php بسیار آسان و ساده است، اما این تابع تنها موارد اولیه را پوشش می دهد، به فرض امکان استفاده از SMTP به صورت authentication یا بررسی نام کاربری و کلمه عبور وجود ندارد، یا نمی توان سرور ارسال ایمیل را تغییر داد و محدودیت های دیگری از این دست، لذا برنامه نویسان php بسته ها و کلاس های دیگری بدین منظور نوشته اند که یکی از معروف ترین آنها کلاس phpmailer است، علاوه بر کلاس phpmailer بسته ایمیل  PEAR نیز برای php وجود دارد که البته به دلیل قدرت و انعطاف پذیری کلاس phpmailer کم تر مورد استفاده قرار می گیرد.

برای شروع آموزش این قسمت ابتدا کلاس مذکور را از لینک زیر دریافت کنید:

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

به دلیل مسدود بودن خدمات code گوگل برای ip های ایران، می توانید آخرین نسخه آن را از انتهای این مقاله دانلود کنید.

در نسخه بالا برخی فایل های غیر ضروری  مربوط به تست های جانبی کلاس، نسبت به نسخه اصلی حذف شده اند تا از سردرگمی کاربران در مواجه با تعداد زیاد فایل های این بسته جلوگیری شود، زبان فارسی نیز برای خطاها، در قسمت language قرار داده شده است که می توانید با اعمال تغییراتی در فایل class.phpmailer.php از آن نیز استفاده کنید، یادآور می شویم اگر می خواهید این کلاس را به همراه تمام فایل های جانبی در اختیار داشته باشید، بهتر است نسخه سایت گوگل را دریافت کنید، اما اگر داشتن فایل ها و مثال های اصلی برایتان مهم است و چندان اهل کنجکاوی در موارد اضافی و جانبی نیستید، این بسته نیز کامل و مناسب است.

استفاده از کلاس بالا بسیار ساده و آسان است، کافیست مطابق الگوی زیر موارد مورد نظر را با توجه به سرور خود تنظیم کرده و فایل را اجرا نمائید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- همانطور که گفتیم ارسال ایمیل با کلاس phpmailer بسیار آسان و کاربردی است، کافی است ابتدا فایل اصلی برنامه یعنی class.phpmailer.php را در صفحه خود وارد کنید (با استفاده از require یا include)، سپس موارد مورد نیاز را مطابق با سرور و حساب خود تنظیم نمائید.
- در قسمت IsSMTP مشخص می کنیم که می خواهیم از SMTP برای ارسال ایمیل استفاده کنیم و برای استفاده از این امکان باید آدرس میل سرور، نام کاربری و کلمه عبور را مطابق الگو تکمیل نمائید.
- قسمت AltBody برای کسانی است که برنامه مدیریت ایمیل آنها تنها از متن ساده پشتیبانی می کند و امکان دیدن ایمیل های html را ندارند.
- قسمت MsgHTML متن پیام به صورت html را در خود جای می دهد، این متن هم می تواند با فراخوانی یک فایل جانبی (با تابع file_get_contents) باشد یا اینکه به صورت مستقیم وارد شود، به فرض در هنگام کار با فرم های ایمیل می توان متن دریافتی از فرم را به یک متغیر نسبت داده و متغیر را به عنوان محتوای ایمیل ارسالی در نظر گرفت.
- اگر نیاز به ضمیمه کردن فایل یا فایل هایی در ایمیل خود دارید، می توانید از قسمت AddAttachment که در مثال بالا غیر فعال شده است، استفاده کنید، ذکر این نکته ضروری است که فایل شما باید از قبل بر روی سرور قرار گرفته باشد و سپس آدرس آن به صورت داینامیک جایگزین شود که خود نیاز به کمی مهارت در برنامه نویسی php دارد.

استفاده از SMTP گوگل برای ارسال ایمیل در php
با استفاده از کلاس PHPMailer شما می توانید از سایر سرورهای SMTP که در آنها حساب کاربری دارید نیز برای ارسال ایمیل استفاده نمائید، البته در عمل سرویس های ایمیل معمولا پس از مدتی برخی از پورت های عمومی خود را محدود کرده یا تغییر می دهند؛ با این وجود یکی از پرکاربردترین این سرورها، سرویس ایمیل سایت گوگل است که تقریبا محدودیت های آن از سایر موارد مشابه کم تر است، البته در لحظه ای که آین آموزش نوشته می شود، ظاهرا پورت 465 SSL آن برای برنامه های جانبی مسدود شده است و خطای timeout می دهد، اما پورت 587 TLS همچنان کار می کند، در کنار این دو پورت امن، پورت 25 نیز وجود دارد که نیازی به رمزنگاری ندارد، برای اینکه این کد در سرور شما به درستی کار کند، بهتر است همه موارد را بررسی کنید، ارسال ایمیل از این طریق محاسن و در عین حال معایبی دارد، بهترین مزیت آن این است که محدودیت برخی از هاست های اشتراکی را ندارد، توضیح اینکه در بیشتر هاست ها برای ارسال ایمیل محدودیت هایی به صورت روزانه و یا ساعتی قائل می شوند، ظاهرا و به گفته تیم پشتیبانی گوگل، در سرویس این شرکت روزانه بالغ بر 2000 ایمیل از یک اکانت قابل ارسال است، اما معایب این سرویس این است که ممکن است از طرف گوگل پورت های آن مسدود شود یا بدون اطلاع قبلی تغییر پیدا کند و یا به ip های برخی کشورها سرویس ندهد و... که این استقلال برنامه ما را تحت تاثیر قرار می دهد، به هر صورت تصمیم به استفاده یا عدم استفاده از این امکان را به عهده شما می گذاریم.

بدین منظور لازم است الگوی بالا را به شکل زیر تغییر دهید:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

پس از اجرای کد برای اولین بار، ممکن است سرویس گوگل دسترسی برنامه را مسدود کند تا از شما مجوزهای لازم را دریافت نماید، بدین جهت اگر با خطای authentication مواجه شدید، لازم است که به ایمیل خود مراجعه کرده و با پیروی از دستورالعمل پیام ارسالی از طرف گوگل، مبنی بر تلاش برای استفاده از حساب شما در یک برنامه جانبی، اجازه استفاده از حساب کاربریتان را به برنامه خود بدهید و از نو آن را اجرا کنید، توجه کنید که به اشتباه بر روی لینک ها کلیک نکنید، در غیر این صورت برنامه شما ممکن است مسدود شود و برای ارسال ایمیل از این طریق با مشکل مواجه شوید.

ارسال ایمیل در لوکال هاست و WampServer
برای ارسال ایمیل از طریق لوکال هاست و برنامه سرور محلی WampServer، با استفاده از SMTP سرویس ایمیل گوگل یا همان GMail، ابتدا لازم است که آخرین نسخه wamp را روی سیستم خود نصب کنید، این برنامه را می توانید از لینک زیر دریافت نمائید.
دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.

پس از نصب برنامه، به دلیل استفاده گوگل از پروتکل های امن و عدم پشتیبانی wamp (به طور پیش فرض) از این امکان، باید تغییراتی در فایل اصلی php.ini اعمال نمائید تا ایمیل شما از این طریق قابل ارسال باشد، لذا پوشه ای که برنامه را در آن نصب کرده اید باز کرده و آدرس زیر را ادامه دهید تا به فایل php.ini برسید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

در این فایل با استفاده از نت پد (notepad) یا هر ویرایشگر متنی دیگر و با کمک قابلیت کلمه یاب یا Find، به دنبال عبارت openssl بگردید تا به خط مربوط به extension=php_openssl.dll برسید، اگر در ابتدای این خط علامت ; بود، آن را حذف کنید و فایل خود را ذخیره کرده و برنامه WampServer را (اگر در حال اجرا بود) بسته و مجددا اجرا کنید یا از امکان شروع مجدد آن استفاده نمائید، اکنون اگر تابع ()phpinfo را در یک فایل php خروجی بگیرید، در قسمت Phar امکان OpenSSL support باید فعال یا enabled باشد، در غیر این صورت در هنگام ارسال ایمیل از طریق phpmailer و wamp، پیام زیر را دریافت خواهید کرد.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

حال همه چیز آماده است تا از کلاس PHPMailer و SMTP گوگل استفاده نمائیم.

در پایان مجددا یادآور می شویم که ممکن است برای اولین بار، گوگل کد شما را مسدود کند تا مجوز اجازه و دسترسی برنامه را از شما دریافت نماید، لذا اگر با این خطا در اکانت gmail خود مواجه شدید، باید از دستورالعمل آن پیروی کرده و مجوز دسترسی از حساب خود را به برنامه بدهید.



فایل‌(های) پیوست شده
.zip   PHPMailer5.2.1.zip (اندازه: 52/41 KB / تعداد دفعات دریافت: 6)
چاپ این مطلب

  محاسبه و نمایش پیج رنک گوگل با php
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۵۰ عصر - انجمن: PHP - بدون پاسخ

پیج رنک گوگل یا google page rank که به اختصار به آن PR هم می گویند، یکی از مهم ترین و جنجال برانگیزترین مباحث بین مدیران وبلاگ ها و سایت های مختلف بوده و کماکان هست، تا جایی که برخی به هر روشی که شده، سعی می کنند پیج رنک خود را بالا ببرند و حتی خیلی چیزهای دیگر را فدای آن می کنند! به هر صورت بحث ما در مورد اینکه چگونه پیج رنک خود را افزایش دهیم یا مسائل از این دست نیست، بلکه می خواهیم ببینیم چگونه می توان با زبان برنامه نویسی PHP، نمره پیج رنک گوگل سایت یا وبلاگ خود را به دست آورد، البته در این مطلب نمی خواهیم نحوه ساخت ابزار نمایش پیج رنک گوگل را آموزش دهیم، بلکه می خواهیم پایه و مبنای اصلی کار برای برنامه نویسان، که همان عددی است که گوگل برای آدرس سایت ها و وبلاگ های درخواست شده بر می گرداند را با PHP دریافت کنیم، اینکه از این عدد چطور استفاده خواهیم کرد، بستگی به ایده های ذهنی و سلیقه خودتان دارد.

پیج رنک گوگل چیست؟

بد نیست قبل از اینکه وارد بحث اصلی شویم، مروری داشته باشیم به اینکه اصلا پیج رنک گوگل چیست؟ جواب این است که پیج رنک الگوریتمی پیچیده برای آنالیز یک لینک (صفحه) از لحاظ میزان ارزشمندی و محبوبیت در وب است، ارزشمندی یک لینک (صفحه) نیز بر اساس میزان و اهمیت صفحاتی است که به آن، لینک خروجی داده اند، به این ترتیب گوگل نمره ای از 0 تا 10 برای هر سایت (و در واقع برای هر لینک) در نظر می گیرد، هر چه این عدد بالاتر باشد، یعنی گوگل برای آن صفحه یا لینک ارزش بیشتری قائل است و اعتبار بیشتری به آن لااقل در تئوری می  دهد، البته در نمایش نتایج جستجو، پیج رنک، تنها یک بُعد کار است، الگوریتم های گوگل آنقدر پیچیده شده اند که بسیاری از عوامل را درهنگام نمایش مطالب سایت ها و وبلاگ ها در لیست نتایج جستجو دخیل می کنند، یا نوع امتیاز دهی گوگل به سایت ها و وبلاگ هایی که به فرض به تعداد زیادی لینک خروجی می دهند با سایت ها یا وبلاگ هایی که تنها به چند عدد لینک بسنده می کنند، فرق دارد، بعضا دیده شده، گوگل حتی رتبه سایتهای تبلیغاتی و پُر از لینک خروجی را به شدت کاهش داده و باعث حیرت همگان شده است.
به لحاظ تجاری عنوان پیج رنک یا page rank توسط گوگل ثبت شده است اما به لحاظ سابقه تاریخی این عنوان ابتدا متعلق به دانشگاه استنفُرد امریکا (Stanford University) بود و امتیاز آن در سال 2005 توسط شرکت گوگل از این دانشگاه خریداری شد، به تدریج با پیروی از گوگل، سایر رقبای جدی آن نیز تا حدودی این معیار را در الگوریتم های جستجوی خود اعمال کرده اند و اکنون تقریبا پیج رنک بالا تر یکی از نشانه های احتمال موفقیت بیشتر در وب است (البته تنها یکی از نشانه ها نه همه چیز!).

پیج رنک گوگل از چه آدرسی قابل دریافت است؟

پیج رنک گوگل را بر روی تولبارهای نمایش پیج رنک که در مرورگرهای مختلف تحت عنوان پلاگین نصب می شوند، می توان دریافت کرد، این تولبار ها با ایجاد درخواست به آدرس toolbarqueries.google.com و با ارسال آدرس صفحه مورد نظر، عددی را در جواب بین 0 تا 10 دریافت می کنند (برای صفحاتی که هنوز رتبه ای ندارند، هیچ چیز دریافت نمی شود) و آن عدد را به اشکال مختلف پردازش کرده و معمولا به صورت گرافیکی نشان می دهند.

محاسبه پیج رنک گوگل با کدهای php

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

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- کد بالا یک شبیه ساز تولبار گوگل است که پیج رنک لینک های درخواستی را نمایش می دهد (به صورت اعداد صفر تا 10).
- آدرس لینک (سایت، وبلاگ یا صفحه) خود را باید در متغیر website در بالای کد، تعریف کنید.
- سپس قسمت مربوط به if و http، https بررسی می کند که آیا لینک شما معتبر است یا خیر، اگر لینک با http یا https شروع نشده باشد، در ادامه، مقادیر به متغیر website اضافه خواهند شد تا لینک به صورت استاندارد درآید.
- در گام بعدی، تنظیمات مربوط به اتصال به سرور گوگل در آدرس toolbarqueries.google.com با یک واسط کاربری (UserAgent) فرضی (در واقع جعلی) اعمال می شود.
- قسمت های مربوط به توابع StrToNum، HashURL و CheckHash به طور ساده فرمولی است برای ایجاد کد عددی، مطابق با آدرس لینک درخواستی، این کد توسط گوگل با آدرس لینک مورد نظر تطبیق داده می شود و اگر صحیح باشد عدد پیج رنک را برمی گرداند.
- در تابع getpr، اتصال به سوکت با fsockopen و پورت 80 انجام می شود و نهایتا نتیجه به صورت عددی از 0 تا 10 به عنوان پیج رنک برگردانده می شود.

فراخوانی تابع محاسبه و نمایش پیج رنک گوگل

تابع بالا را به صورت زیر می توان فراخوانی کرد تا نتیجه محاسبه، به صورت یک عدد بین 0 تا 10 نمایش داده شود (برای صفحاتی که هنوز نمره ای دریافت نکرده اند، هیچ چیز نشان داده نخواهد شد).

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

از این عدد می توان به صورت های مختلف استفاده کرد، مثلا به صورت داینامیک، پارامترهای دیگری به آن اضافه کرده و به صورت یک ابزار نمایش پیج رنک گوگل مورد استفاده قرار داد، یا می شود برای آگاهی از رنک سایت یا وبلاگ شخصی خود از آن بهره برد، در کل مهم این است که بتوانیم نتیجه را به صورت یک عدد بین 0 تا 10 دریافت کنیم، نحوه استفاده بستگی به ذوق، سلیقه و ایده های خودتان دارد.

چاپ این مطلب

  تبدیل تاریخ میلادی به شمسی، با استفاده از مبدل jdf در php
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۴۴ عصر - انجمن: PHP - بدون پاسخ

یکی از دردسرهای همیشگی مدیران وبلاگ ها و سایت های فارسی زبان، مشکل نمایش تاریخ شمسی در صفحاتشان است، البته این مشکل برای سایت ها نمود بیشتری دارد چرا که وبلاگ ها معمولا از طریق سرویس دهنده خود می توانند تاریخ مطالب و محتوا را به بازدیدکنندگان به راحتی نشان دهند، اما در سایت ها وضع کمی فرق می کند، چرا که تاریخ قریب به اتفاق سرورها به میلادی است و از طرفی منطقه زمانی نیز در بیشتر سرورها بر روی GMT قرار دارد، در حالی که کشور ما ایران، به صورت استاندارد در منطقه زمانی 3:30+ GMT (و با تغییر ساعت در منطقه زمانی 4:30+ GMT) قرار گرفته است؛ در این مطلب می خواهیم به کمک برنامه مبدّل تاریخ هجری شمسی (jdf) که توسط برنامه نویسان ایرانی و به PHP نوشته و توسعه داده شده است، روش تبدیل تاریخ میلادی به شمسی را آموزش دهیم و مشکل منطقه زمانی را نیز حل کنیم.
دانلود مبدل تاریخ میلادی به شمسی به زبان php

قبل از بررسی ادامه آموزش، ابتدا آخرین نسخه برنامه مبدّل تاریخ هجری شمسی (jdf) را از لینک زیر یا فایل پیوست شده در انتهای مقاله دریافت کنید:

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


تبدیل تاریخ استاتیک میلادی به شمسی

پس از دریافت فایل بالا، ابتدا تاریخ و زمان میلادی را به صورت Timestamp استاندارد (روز-ماه-سال) و (ثانیه-دقیقه-ساعت) از دیتابیس یا از سرور دریافت می کنیم، سپس پس از تجزیه موارد اضافه از طریق تابع explode در php و نهایتا تبدیل آرایه ها به متغیر با کمک list، با تابع mktime،  تاریخ و زمان را به صورت Unix در می آوریم؛ سپس تاریخ را به تابع jdate می دهیم و تبدیل شده شمسی آن را دریافت می کنیم؛ مثال زیر روشن است:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- چنانچه خطای Fatal error: Call to undefined function: date_default_timezone_set() on line 12 را دریافت کردید، خط مربوط به date_default_timezone_set را در لاین 12 حذف کنید یا به صورت کامنت در آورید (با افزودن // در ابتدای آن)، نمایش خطا به این دلیل است که قابلیت date_default_timezone_set تنها برای نسخه 5.1.0 به بعد در php قابل دسترس است.
- در کد بالا ما تاریخ را در متغیر now و زمان را در متغیر time داریم و اختلاف از GMT را برابر صفر قرار داده ایم (اگر زمان سرور شما بر روی GMT تنظیم شده است باید برای اختلاف 3:30 عدد 12600 و برای 4:30 عدد 16200 را قرار دهید).
- هر ساعت اختلاف از GMT برابر است با 60 دقیقه ضرب در 60 ثانیه (60*60) و نتیجه برابر است با 3600 ثانیه (یک ساعت برابر 3600 ثانیه)؛ 3:30 برابر می شود با 12600 و 4:30 برابر است با 16200 ثانیه.
- list، آرایه های حاصل از تجزیه با تابع explode را در مقادیر متغیرها ذخیره می کند.
- تابع jdate یکی از توابع مفید و اصلی فایل jdf.php است که تاریخ میلادی را به شمسی تبدیل می کند.
- نهایتا نیز متغیر jalali_date را به خروجی می دهیم.



فایل‌(های) پیوست شده
.zip   jdf.zip (اندازه: 3/97 KB / تعداد دفعات دریافت: 4)
چاپ این مطلب

  آموزش ساخت نقشه سایت (Sitemap) با php و xml
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۳۳ عصر - انجمن: PHP - بدون پاسخ

یکی از روش هایی که تاثیر زیادی در معرفی هرچه بهتر سایت یا وبلاگ به موتورهای جستجو دارد، ایجاد نقشه سایت یا به اصطلاح Sitemap است، هرچند اکثر کاربران ترجیح می دهند که از تگ ul و li برای نقشه سایتشان استفاده کنند، اما آنچه پروتکل استاندارد وب توصیه می کند استفاده از نقشه سایت xml است، xml زبانی است که با پلتفرم های مختلف سازگار است و اکثر موتورهای جستجوگر معروف نیز از آن پشتیبانی می کنند و عضو sitemaps.org هستند؛ در این آموزش قصد داریم نحوه ایجاد و مدیریت یک نقشه سایت را در حد امکان به طور کامل توضیح دهیم، البته یادآور می شویم که درک این مطلب نیازمند داشتن دانش اولیه در php و mysql است.
شیوه نگارش (syntax) نقشه سایت

شیوه نگارش (syntax) یک نقشه سایت معمولی به شکل زیر است:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- encoding نقشه سایت باید UTF-8 باشد.
- sitemaps.org سایت رسمی پروتکل نقشه سایت است.
- تگ urlset برای هر نقشه سایت، تنها یک بار تکرار می شود.
- لینک ها را (ترجیحا) از بالاترین سطح تا پائین ترین سطح در تگ های url مرتب کنید.
- برای صفحه نخست سایت حتما / را در پایان آدرس قرار دهید.
- از به کار بردن کاراکترهای &, ', ", > و < در آدرس لینک ها خودداری کنید و به جای آنها از جایگزین html استفاده نمائید.
ایجاد نقشه سایت داینامیک

مسلما تعداد لینک های یک سایت داینامیک به چند عدد محدود نخواهد بود لذا برای مدیریت نقشه سایتمان باید از زبان های سمت سرور و از جمله php استفاده کنیم، در کد زیر ما اطلاعات فرضی را از پایگاه داده فراخوانی می کنیم و برای هر مطلب، لینک آن را به نقشه سایتمان اضافه کرده و در پایان لینک ها را در یک فایل با نام sitemap.xml کپی می کنیم:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- فایلی با نام sitemap.xml ترجیحا در ریشه سایت بسازید.
- در کد بالا ابتدا بعد از فراخوانی فایل یک بار با متد +w محتویات آن را پاک سازی می کنیم (این کار برای جلوگیری از تکرار لینک ها در هر بار به روزرسانی نقشه سایتمان است).
- مجدد فایل را این بار با متد a باز می کنیم و می نویسیم (فرق متد a و +w در این است که متد a به محتویات کنونی فایل خللی وارد نمی کند و در انتها کد جدید را اضافه می نماید اما متد +w فایل را خالی کرده و مجدد می نویسد).
- در مثال عنوان شده اطلاعات را از جدولی فرضی به نام posts دریافت کرده ایم و برای هر مطلب یک لینک به خروجی می دهیم.
- لینک های ما باید استاندارد html باشند و لذا استفاده از کارکترهای خاص که پیشتر گفتیم مجاز نمی باشد، می توانید از تابع htmlspecialchars در php نیز استفاده کنید.
- برای آپدیت مرتب نقشه سایت می توانید به عنوان مثال آن را در صفحه ای که مطالبتان را از آن ارسال می کنید ایمپورت کنید تا با هر بار ارسال مطلب جدید، اطلاعات به روز رسانی شوند.
استفاده از نقشه سایت به لینک های معمولی محدود نمی شود، محتویات دیگر صفحات وب از جمله تصاویر، ویدئوها، اخبار و... را نیز می توان در Sitemap گنجاند:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

افزودن تاریخ و اطلاعات بیشتر به sitemap

علاوه بر تگ که آدرس لینک ها را در آن قرار می دهیم، از چند تگ (اختیاری) دیگر نیز می توانیم در نقشه xml سایت خود استفاده کنیم، از جمله برای نمایش تاریخ ایجاد یا به روز رسانی لینک، که دوره تغییر یک لینک را مشخص می کند و که میزان اهمیت آن را نسبت به سایر لینک ها نشان می دهد.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- فرمت می تواند به صورت تاریخ ساده، یا تاریخ همراه زمان و اختلاف زمانی باشد (در مثال بالا از هر دو روش استفاده کرده ایم).
- می تواند مقادیری مثل ماهیانه (monthly)، هفتگی (weekly)، ساعت به ساعت (hourly)، روزانه (daily)، سالیانه (yearly)، همیشگی (always) و یا هرگز (never) باشد.
- میزان اهمیت لینک را مشخص می کند، این مقدار می تواند به ترتیب از کم اهمیت ترین (0.0) تا پراهمیت ترین (1.0) در نوسان باشد.

چاپ این مطلب

  ارسال پارامتر به URL و دریافت مقادیر با PHP
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۲۷ عصر - انجمن: PHP - بدون پاسخ

زمانی که از ارسال پارامتر در وب صحبت می کنیم، بیشتر ذهنمان معطوف به فرم های HTML و متد POST یا GET می شود، البته این شیوه مرسوم و پرکاربردی برای ارسال داده ها از مرورگر (سمت کاربر) به یک سایت (سمت سرور) است، اما گاهی مواقع نیاز است که از این قالب سنتی پا را فراتر بنهیم و از روش های دیگری نیز استفاده کنیم، به فرض از همین استاندارد POST و GET در ارسال درخواست های آژاکسی (Ajax) نیز به سرور استفاده می شود، از طرفی کدها و توابعی در PHP وجود دارد که می توانند علاوه بر ارسال پارامترها به یک سرور (آدرس URL)، پاسخ آن را نیز دریافت کنند، امکان بالقوه ای که می تواند کاربردهای زیادی داشته باشد، از جمله مهمترین این توابع file_get_contents و cURL هستند که در ادامه آموزش به آنها خواهیم پرداخت.
تابع file_get_contents

از تابع file_get_contents در PHP برای خواند اطلاعات یک فایل یا آدرس URL استفاده می شود، به عنوان مثال:



*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *


کد بالا با ارسال یک درخواست به آدرس تعیین شده، پاسخ سرور (که صفحه اول سایت «روماک» است) را به صورت رشته متنی دریافت می کند، اکنون اگر با دستور echo از متغیر فرضی homepage خروجی بگیریم، اطلاعات دریافت شده نمایش داده می شوند.
تابع file_get_contents  پنج آرگومان به شرح زیر می پذیرد:
- آرگومان اول (filename): نام (یا آدرس) فایل یا URL.
- آرگومان دوم (use_include_path): فراخوانی فایل از دایرکتوری include_path در تنظیمات PHP.
- آرگومان سوم (context): محتوایی که به همراه درخواست ارسال می شود، این محتوا باید توسط تابع  stream_context_create (و بر اساس استانداردهای HTTP context options) ساخته شود تا معتبر باشد، تنظیمات قابل اعمال در این قسمت عبارتند از: method، header، user_agent، content، proxy، request_fulluri، follow_location، max_redirects، protocol_version، timeout و ignore_errors؛
اطلاعات بیشتر:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
- آرگومان چهارم (offset): محل و خط شروع خواندن اطلاعات (این قابلیت به دلیل پشتیبانی نشدن برای فایل های لوکال و محدودیت هایش، چندان کاربردی نیست).
- آرگومان پنجم (maxlen): حداکثر کاراکتری که تابع خواهد خواند (در حالت پیش فرض تمام اطلاعات خوانده می شود).

تابع file_get_contents و متد POST

تابع file_get_contents علاوه بر دریافت پاسخ یک سرور، این توانایی را دارد که در چاچوب متد POST پارامترهایی نیز به سرور مقصد ارسال نماید، همان طور که در توضیح آرگومان های آن گفته شد، این پارامترها باید در چارچوب استاندارد HTTP بوده و پیش از ارسال توسط تابع stream_context_create معتبر شوند، به این ترتیب می توان نحوه کار فرم های HTML را به راحتی شبیه سازی کرد، ضمن اینکه علاوه بر ارسال پارامترها، می توان هم زمان نتیجه درخواست را نیز دریافت کرد، به مثال زیر توجه کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.

تابع cURL

یکی از قدرتمند ترین کتابخانه های مربوط به کار با پروتکل های وب در PHP، کتابخانه libcurl است که از نسخه 4.0.2 به آن افزوده شده است، البته این کتابخه به صورت پیش فرض در مفسر PHP وجود ندارد، اما به جهت کاربردی بودن، معمولا در اکثر سرورها به صورت پیش فرض فعال است، به طور ساده کتابخانه libcurl دربرگیرنده مجموعه توابعی است که کار با پروتکل های وب (از جمله HTTPS، HTTP، FTP و...) را به صورت حرفه ای و با قابلیت های زیاد ممکن می کند، به مثال زیر توجه کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

همان طور که در مثال بالا مشخص است، توابع مربوط به این کتابخانه با پیشوند _curl شروع می شوند، اما توضیح مختصری درباره برخی توابع این کتابخانه:
- تابع curl_init: با دریافت یک آدرس url، نشست cURL را آغاز می کند.
- تابع curl_setopt: تنظیم پارامترهای مورد نیاز برای اجرای صحیح یک نشست cURL.
- تابع curl_exec: اجرای یک نشست cURL.
- تابع curl_close: پایان یک نشست cURL.
- تابع curl_error: آخرین خطای رخ داده در نشست را نمایش می دهد.
- تابع curl_errno: شماره خطای برگردانده شده را نمایش می دهد.
البته توابع مربوط به این کتابخانه محدود به موارد گفته شده نمی شود:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
به مثالی کاربردی توجه کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *


توضیح:
- آدرس url مقصد را در قسمت curl_init مشخص کنید.
- در تنظیمات مربوط به CURLOPT_POST، متد استفاده شده در درخواست را مشخص می کنیم، اگر مقدار 1 یا TRUE باشد، مقادیر CURLOPT_POSTFIELDS از طریق متد POST ارسال شده و پارامترهای احتمالی در آدرس URL نادیده گرفته می شوند (امکان ترکیب متد POST و GET در این حالت وجود ندارد).
- در تنظیمات قسمت CURLOPT_POSTFIELDS، پارامترها و مقادیر آنها را تعیین کنید، این پارامترها در واقع نقش نام فیلد و مقادیر آنها نقش مقدار فیلد را در یک فرم HTML بازی می کنند.
- در قسمت CURLOPT_RETURNTRANSFER، مشخص می کنیم که آیا پاسخ سرور نیز پس از ارسال درخواست دریافت شود یا خیر، اگر مقدار TRUE باشد، پاسخ به صورت رشته متنی دریافت می شود و اگر FALSE باشد، پاسخ دریافت نمی شود.
- برای تکمیل یک نشست cURL باید حتما با تابع curl_exec آن را اجرا کنیم.
- در نهایت نیز با تابع curl_close، نشست cURL را خاتمه می دهیم.
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.

چاپ این مطلب

  نمایش قسمتی از متن و پاراگراف با php
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۲۱ عصر - انجمن: PHP - بدون پاسخ

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

یکی از روش های نمایش قسمتی از متن یا پاراگراف در php، تعیین تعداد و میزان کلماتی است که قصد داریم در خروجی نشان داده شوند، برای این کار از سه تابع explode ، implode و array_splice استفاده می کنیم که در تابع زیر این سه را باهم ترکیب کرده ایم.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
برای فراخوانی تابع، کافی است پاراگراف مورد نظر را در یک متغیر تعریف و متغیر را (به عنوان آرگومان اول) به همراه تعداد کلمات مورد نظر (به عنوان آرگومان دوم) و به صورت زیر فراخوانی کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
به این صورت در خروجی، تنها 5 کلمه اول از مقادیر متغیر فرضی string را خواهیم داشت.
توضیح:
- تابع explode با دریافت یک مقدار آرگومان به عنوان جداکننده (در اینجا فضای خالی یا " ")، متن مورد نظر را به صورت آرایه ای از کلمات تبدیل می کند.
- در قسمت بعدی، تابع implode مجددا آرایه ها را تبدیل به یک رشته می کند، البته در اینجا array_splice باعث می شود که تنها بخش خاصی از متن مورد نظر به خروجی ارسال شود.
نکته: برای محاسبه تعداد کلمات موجود در آرایه، می توانید از sizeof هم استفاده کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
به این صورت می توانید برنامه خود را هوشمند تر سازید؛ به فرض اگر تعداد کلمات یک متن از مقادیر مورد نظر شما بیشتر بود، قسمت array_splice اجرا شود و یا ایده های دیگری که ممکن است به ذهنتان برسد.
نمایش قسمتی از متن به صورت شمارش حروف  

یک روش دیگر برای انتخاب و نمایش قسمتی از یک متن، شمارش تعداد حروفی است که تمایل داریم به همان اندازه به خروجی ارسال شود، برای انجام این کار از تابع substr می توانیم استفاده کنیم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
البته این روش برای کلمات فارسی چندان کاربردی نیست، چرا که هر حرف فارسی در تابع substr دو کاراکتر حساب می شود و از این گذشته، در این تابع گاهی مواقع کاراکترهای غیر استاندارد در انتهای متن مورد نظر به خروجی داده می شود که این موضوع به دلیل یونیکد حروف فارسی است.

نمایش قسمتی از متن و پاراگراف در MySQL

علاوه بر روش های بالا که صرفا متکی بر کدهای php و توابع آن هستند، در mysql و به هنگام پرس و جو یا همان query نیز این امکان وجود دارد که بتوانیم نتایج را محدود به تعداد کلمات خاصی کنیم، برای این کار از تابع SUBSTRING و به شکل نمونه زیر استفاده می کنیم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
در مثال بالا، با استفاده از تابع SUBSTRING در MySQL از جدول فرضی articles، ستون text کاراکترهای 1 تا 30 را انتخاب کرده ایم، البته این تابع نیز نسبت به حروف فارسی در مقایسه با حروف انگلیسی، رفتاری متفاوت دارد.

چاپ این مطلب

  ساخت فید خوان آر اس اس (RSS Feed Reader) با php
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۱۶ عصر - انجمن: PHP - بدون پاسخ

ساخت فید خوان آر اس اس (RSS Feed Reader) با php

همانطور که می دانیم، فید آر اس اس (RSS Feed) یا خوراک وب، یکی از کاربردی ترین روش ها برای اطلاع از به روز رسانی یک سایت یا وبلاگ است که خیلی از کاربران ترجیح می دهند از این طریق، مطالب صفحه مورد علاقه خودشان را دنبال کنند، اما استفاده از این امکان، تنها به همین مورد محدود نمی شود، به فرض می توان لیستی از مطالب سایتها یا وبلاگ ها را به صورت لینک باکس طراحی کرد و در وبلاگ یا سایت خود به نمایش درآورد یا تازه ترین مطالب بخش های مختلف سایت یا وبلاگ را در صفحه اصلی به بازدیدکننده گان نشان داد و یا هر ایده ی دیگری که به ذهنتان می رسد؛ به همین دلیل در این مطلب قصد داریم نحوه ساخت فید خوان آر اس اس (RSS Feed Reader) را با php آموزش دهیم، به امید اینکه مفید واقع شود.

آشنایی با شیوه نگارش فید آر اس اس (RSS Feed)

قبل از اینکه به قسمت کدنویسی php بپردازیم، بد نیست با شیوه نگارش (syntax) یک فید rss آشنا شویم، چرا که نهایتا برنامه php که خواهیم نوشت، فایل xml مقصد یا همان فید آر اس اس را تجزیه تحلیل خواهد کرد.
یک فید آر اس اس معمولی، از تگ های خاصی به زبان xml استفاده می کند که در زیر نمونه آن را مشاهده می کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- یک فید آر اس اس از تگ هایی کلیدی تشکیل شده که هر کدام برای نمایش محتوای خاصی کاربرد دارند، مثلا تگ title برای نمایش عناوین مطالب است یا link، آدرس لینک مطلب مورد نظر را در خود نمایش می دهد، description برای پیش نمایش مطلب و pubDate تاریخ ایجاد آن را نشان می دهد.
- کد php که در ادامه به آن اشاره خواهیم کرد، با دریافت فایل xml فید، تگ های آن را تجزیه کرده و نتایج را نمایش می دهد.
کد php فید خوان آر اس اس (RSS Feed Reader)

برای نمایش محتوای فید های آر اس اس، در سایت یا وبلاگ خود، می توانید از توابع زیر که به زبان php نوشته شده اند استفاده کنید، کافی است آدرس فید را جایگزین مقادیر پیش فرض در کد کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- آدرس فید خود را در متغیر url جایگزین کنید (حتما آدرس کامل را به صورت http://www یا //:http درج کنید).
- تابع xml2array مقادیر دریافتی از فید را تجزیه کرده و آن را به صورت آریه هایی قابل استفاده در تابع دوم یعنی display_feed در می آورد.
- preg_match_all و preg_match در تابع xml2array، با جایگزینی مقادیر رشته ای با آرایه ها، امکان استفاده از آنها را در php فراهم می کنند.
- در تابع display_feed، محتویات فید مقصد را با file_get_contents دریافت می کنیم.
- در ادامه، تابع display_feed، به صورت داینامیک، تگ ها را با آرایه مقایسه کرده و مقادیر آنها را جایگزین می کند تا سرانجام نتیجه کد به صورت الگوی موجود در متغیر template در هر دور حلقه foreach به مرورگر ارسال شود.
- خروجی کد بالا در بلاکی با آی دی rss-block تولید می شود و هر آیتم، کلاس (css) با نام rss-item دارد، از این کلاس ها برای ایجاد تنظیمات و استایل css دلخواه می توانید استفاده کنید (اگر در این زمینه آشنایی ندارید، می توانید از نمونه پیش فرض، در انتهای همین صفحه استفاده کنید).
تنظیمات و استایل css قابل اعمال بر روی فید خوان php

کد بالا به صورت پیش فرض تنها لینک مطالب را خروجی می دهد، اما همانطور که پیش تر گفتیم، شما می توانید هرکدام از تگ های rss را در خروجی داشته باشید، به طور مثال توضیحات مطالب را با افزودن description به صورت #description# به متغیر template، علاوه بر لینک ها نمایش دهید، به فرض در کد زیر ما این کار را برای تاریخ و توضیحات انجام داده ایم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

برای اعمال استایل دلخواه نیز می توانید در یک کلاس css مقادیر مورد نظر خود را به کلاس های rss-block و rss-item نسبت دهید، برای مثال:

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
پیش نمایش اسکریپت فید خوان آر اس اس

نمونه کامل کد  را می توانید در زیر مشاهده کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

چاپ این مطلب

  ساخت منوی هوشمند با php و css
ارسال کننده: saberi - ۹۴/۶/۲۳، ۰۶:۰۴ عصر - انجمن: PHP - بدون پاسخ

در این آموزش می خواهیم شما را با نحوه ایجاد نوعی منوهای صفحه به صفحه یا به عبارتی، منوهای هوشمند آشنا کنیم که با تغییر صفحات سایت، لینک صفحه فعال را به صورت مشخص و متمایز از دیگر منوها نشان می دهند، احتمالا کم و بیش، نمونه هایی از این نوع را در صفحات وب مشاهده کرده اید، ولی شاید برایتان نحوه ساخت آنها تا به امروز حل نشده باقی مانده باشد، اگر اینچنین است، بد نیست با ادامه این آموزش همراه ما باشید تا با هم نگاهی داشته باشیم به نحوه ساخت منوهای هوشمند در سایت با php و css.
منظور از منوی هوشمند چیست؟

همانطور که می دانیم، در حالت معمول، منوهای وب بر اساس رفتارهای قابل ایجاد با کدهای css تنظیم می شوند که به چهار حالت a:link (حالت عادی لینک)، a:visited (حالتی که لینک دیده شده است)، a:hover (حالتی که لینک فعال است و ماوس را روی آن می بریم) و a:active (حالت لحظه ای که روی لینک کلیک می کنیم) محدود می شوند، اما اگر بخواهیم به فرض وقتی کاربر صفحه ای را انتخاب کرد، منوی مربوط به آن صفحه را متمایز از سایر منوها و به حالت انتخاب درآوریم، این روش های معمولی به تنهایی کافی نیستند، لذا باید دست به دامن کدهای سمت سرور و از جمله php شویم تا به طور داینامیک، صفحه ای که کاربر در آن قرار دارد را شناسایی کرده و کلاس متفاوتی به منوی مربوط به لینک آن صفحه در مقایسه با سایر منوها نسبت دهیم، این چیزی است که به اصطلاح می توان بر آن عنوان منوی هوشمند را نهاد.
ساخت منو با تگ ul li

قبل از هر چیز باید منوهایی در صفحه خود بسازیم که قابلیت پذیرش کلاس های css را داشته باشند، در اینجا ما از تگ های استاندارد ul و li بدین منظور استفاده کرده ایم، در زیر یک نمونه ساده را ملاحظه می کنید.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
توضیح:
- همانطور که ملاحظه می کنید، ما از ترکیب کدهای php در html برای ایجاد کلاس های داینامیک استفاده کرده ایم (در ادامه خواهیم دید).
- لینک های این منوها کاملا فرضی هستند و صرفا به جهت جنبه آموزشی کار، درج شده اند، در عمل باید آنها را متناسب با سایت خود تنظیم نمائید.
تعریف استایل css برای منوها

پس از اینکه منوهای خود را به صورت ترکیب تگ های html و php ساختیم، باید حالت های فعال و غیر فعال آنها را بر اساس کلاس های css تعریف کنیم، در زیر این کار را جهت نمونه انجام داده ایم.

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *
 
توضیح:
- اگر دقت کنید، دو کلاس با نام  menu-off و menu-on با اندکی اختلاف در کدنویسی، در استایل بالا نوشته ایم، کلاس menu-off برای زمانی است که لینک منو در حالت عادی و انتخاب نشده قرار دارد و در مقابل کلاس menu-on برای حالتی است که کاربر بر روی لینک کلیک کرده و وارد آن صفحه شده است.
- دقت کنید که تنظیم شکل ظاهری منو ها بستگی به ذوق و سلیقه خودتان دارد و مهم این است که شما با تکنیک پایه ی کار آشنا شوید، هدف از این آموزش نیز همین است.
کد php و ساخت کلاس داینامیک

اکنون که قسمت html کار را به پایان رسانده ایم، باید با کدنویسی سمت سرور، قابلیت هوشمندی به منوهای خود بدهیم، به این صورت که با شناسایی منوی انتخاب شده توسط کاربر، کلاس  menu-on را برای آن لینک تنظیم کنیم و برای سایر منوها، از کلاس menu-off استفاده نمائیم، این کار چندان پیچیده نیست، کافی است به طور ساده و با متد get پارامتر درخواستی کاربر را شناسایی کرده و متناسب با آن خروجی دهیم.
*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

توضیح:
- ابتدا متغیر فرضی url را با دریافت پارامترهای درخواستی کاربر تنظیم می کنیم.
- سپس بررسی می کنیم تا ببینیم چه منویی توسط کاربر انتخاب شده است، در این حالت اگر بررسی ما درست (true) بود، کلاس آن را به صورت menu-on خروجی می دهیم و مابقی منوها را به صورت menu-off.
- همانطور که ملاحظه می کنید، تنها با دو دستور ساده if و else در php یک منوی هوشمند ساخته ایم.
کد html و php منو + پیش نمایش

در زیر کد کامل منو به صورت html و php به همراه تصویری جهت نمونه و پیش نمایش قرار داده شده است که می توانید از آن استفاده کنید.


.jpg   php-css-smart-menu-example.jpg (اندازه: 11/38 KB / تعداد دفعات دریافت: 1)

*محتوای این قسمت تنها برای اعضای انجمن قابل مشاهده می باشد. *

چاپ این مطلب

  از خلق تا اجرای ایده و تولید محصول
ارسال کننده: saberi - ۹۴/۶/۲۲، ۱۱:۴۳ عصر - انجمن: مدیریت و کسب و کار - بدون پاسخ

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

در عصر حاضر زمینه های زیادی برای بروز خلاقیت و نوآوری وجود دارد که فرصتی مناسب برای هنرمندان و کارآفرینان خلاق فراهم آمده است که می توانند به خلق کارهای جدیدو اجرای ایده وادار شده و محصولات جدید را تولید کنند که پیش تر وجود نداشته اند اما با تلاش آنها ایجاد شده است. جهان ما به سرعت در حال پیچیده تر شدن است اکنون همه و به خصوص رهبران کسب وکار بیش از هر زمان دیگر به این توانایی خلاق نیاز دارند.

بنابراین چگونه می توانیم به خوبی این توانایی را درک کنیم؟ چه شایستگی هایی مورد نیاز است؟ بهترین زمینه آموزش، کسب وکار است یا طراحی؟ آیا رهبران کسب وکار باید به دنبال مکتب کسب وکار B-School باشند یا مکتب طراحی D-School ؟ 

شاید باید چیزی بین این دو را جست وجو کنند: مکتب ادراکی؛ مکتبی که در آن خلاقیت و رهبری مدیر ارشد اجرایی با یکدیگر ترکیب می شوند، مکانی برای آموختن که به رهبری نوآور و فرآیند خلاق با کارآفرینان و شرکت هایی با رهبران سازمانی از بخش های خصوصی، دولتی و اجتماعی شتاب می دهد.

درک رهبری نوآورانه در سازمان به معنی درک خلاقیت است. در دنیای امروز تعداد کمی از ما به تنهایی چیزی را خلق می کنیم. نوآوری معمولا از تعامل گروهی، از پیوند بین اعضای تیم و سیکل های بازخورد سریع ایجاد می شود. خلاقیت در قالب تیم اتفاق می افتد. 

همان طور که رئیس استودیوی انیمیشن پیکسار (Pixar)، ادوین کتمول Ed Catmull اشاره می کند: تیم حتی از ایده هم مهم تر است. یک تیم بزرگ حتی می تواند یک ایده متوسط را به حد اعلی برساند اما یک تیم متوسط ممکن است یک ایده بزرگ را هدر دهد. یک تیم بزرگ می تواند با یک ایده متوسط شروع کند و با خلاقیت در مسیر، آن را تغییر دهد.

نوآوری، ترکیب توسعه یک مفهوم برای یک محصول، خدمات یا کسب وکار جدید و درک متعاقب آن در مرحله سنجش است. دو مرحله مهم در این فرآیند وجود دارد: درک و پدیدآوری. درک شامل جمع آوری یک ایده نوآورانه یا توضیح آن است. پدیدآوری شامل ایجاد این ایده یا مفهوم نوآورانه است. رهبری نوآوری در سازمان ها به معنی شناخت هر دو مرحله در جزئیات و توانا بودن در هدایت آنها به سوی موفقیت است.

مرحله درک یک جریان 
در THNK مرحله درک یک جریان مستمر از چهار مرحله است: دریافت، بینش، نمونه سازی و سنجش. مرحله دریافت شامل شناسایی موضوع و ترکیب تحلیل منطقی با فرآیند جمع آوری دیدگاه ها است. مرحله بینش شامل تغییر شکل مساله و ایجاد یک مفهوم جدید است که مشخص، برجسته و جذاب باشد. مرحله نمونه سازی بر آزمایش مکرر و بازخورد کاربر با هدف آزمایش فروض فرد برای بهبود مفهوم تمرکز می کند. اگر بخواهیم دقیق شویم مرحله درک می تواند «چندنوعی» نامیده شود: نسخه به نسخه ایجاد می یابد و دائما از شکست ها می آموزد.

سنجش به عنوان مرحله نهایی در مورد طراحی برای مقیاس پذیری است. مقیاس پذیری در سطح فردی توانایی تاثیر گذاشتن در دستاوردهای یک فرد است. در سطح سازمانی این یک ایده است که به سرعت گسترده می شود و توسط بسیاری پذیرفته می شود. در سطح سرمایه گذاری این مفهومی است که می تواند با هزینه کم تکثیر شود.

رهبری نوآور سازمانی برای مفهومی هدف گذاری می کند که برای مقیاسی با حداکثر پتانسیل طراحی شود. مفاهیم مقیاس پذیر بر پایه ابزارهای «خودتان آن را انجام دهید» بنا شده اند: فروش دستورالعمل مقیاس پذیرتر از راه اندازی یک رستوران است. مفاهیم مقیاس پذیر بر پایه بازاریابی ویروسیviral marketing (به معنای عرضه تسهیلاتی به طور مجانی و دادن اجازه به افراد برای انتقال آن به دیگران) و حمایت بجای تبلیغات است. 

مقیاس پذیری مستقیما در عملکرد کسب وکار معنی پیدا می کند. مفاهیمی که با نحوه کاربرد توسعه می یابند. برای مثال یک موتور جست وجوگر که با نفوذ به بازار در طول زمان ارزشمندتر می شود. در طول زمان تفاوت بین بزرگ ترین عملگر و رقبای کوچک تر افزایش می یابد، بنابراین یک استاندارد عملی صورت خارجی به خود می گیرد.

صلاحیت های کلیدی مورد نیاز برای رهبری نوآور سازمان در مرحله درک چیست؟ اشتیاق و هدف گذاری معین در مسیری منظم به سمت نوآوری. یک طرز فکر اکتشافی به تداعی آزاد که به پیش فرض های قبلی ما اجازه می دهند تا ارتباطات بین حوزه های غیرمتجانس را دریابند و بدانند که در کجا دنبال علائم و سیگنال های ضعیف بگردند. توانایی رویاپردازی برای آینده بهتر و مشارکت دادن سایرین در آن. توانایی جذب و هماهنگ کردن تیم های قوی. در THNK هر فرد توسط یک مربی برای این صلاحیت ها در مدل رهبری خلاق سازمانی آموزش می بیند.

داشتن یک مفهوم بسیار مهم تر از داشتن یک ایده خوب یا یک تکنولوژی جدید است. رهبری نوآور سازمانی می تواند از جریان درک استفاده کند تا اطمینان یابد که یک مفهوم از نیازهای واقعی توسعه یافته است.

اما هنوز یک نوآوری نیست. برای نوآوری نیاز به شناخت و پدیدآوری است.

پدیدآوری: پرورش، ساخت و شتابدهی
توسعه مفهوم، بدون پدیدآوری موفق می تواند یک فرصت از دست رفته بزرگ باشد. زیراکس (Xerox) ارتباطات بر پایه آیکون را در کامپیوتر اختراع کرد اما اپل، سپس مایکروسافت آن را به مرحله اجرا درآوردند و به غول های بزرگ تبدیل شدند. کداک (Kodak) دوربین دیجیتالی را اختراع کرد اما هرگز آن را تکمیل نکرد و اکنون ورشکسته شده است. جمع آوری و نمونه سازی یک محصول عالی تنها اولین بخش از مسیر است.

علاوه بر این، فرضیه زیاد در ایده های نوآوری و در مفهوم ممکن است به ما یک دیدگاه غیرمتعادل از آنچه شرکت های نوآوری انجام می دهند بدهد. در واقع، فرآیند ایجاد منحصرا بستگی به داشتن یک ایده نوآورانه ندارد. ایده ها می توانند در هر جایی پیدا شوند.

 یک فرد می تواند یک محصول موفق را بیابد و در یک منطقه جدید آن را تولید کند؛ همان طور که رد بول Red Bull این کار را زمانی که یک نوشیدنی تایلندی را برای ذائقه های غربی بازاریابی می کرد، انجام داد. بسیاری از شرکت های موفق محصولاتشان را در تغییر مفاهیم از قبل موجود پایه گذاری کرده اند.

بنابراین رهبری نوآوری در سازمان به معنی آوردن چیز قابل لمس به جهان است. جایی که فقط یک ایده وجود داشت، اکنون یک محصول یا خدمات وجود دارد. یک ایده بزرگ با جادو به یک محصول عالی تبدیل نمی شود.

تشخیص مراحل فرآیند پدیدآوری مفید خواهد بود. این به رهبری نوآوری در سازمان کمک می کند تا درباره پیشرفت و خصوصا درباره اینکه چه منابع و موفقیت هایی برای تضمین این فرآیند مورد نیاز است واقع بین باشند. در THNK ما مرحله پدیدآوری نوآوری را به سه بخش مجزا تقسیم می کنیم: پرورش، ساختن و شتابدهی.

مرحله پرورش، مرحله ای است که از مفهوم به سمت اولین مشتری حرکت کنیم. یعنی زمانی که محصول یا خدمات تولید شده توسط اولین مشتری خریداری می شود. این مرحله به مشتریان، عرضه کنندگان و سرمایه گذاران آینده معطوف می شود.

مرحله ساخت حرکت از اولین مشتری به شرکت است. یعنی به موقعیتی که محصول یا خدمات می تواند با کیفیت قابل تکرار ارسال شود. این مرحله شامل محرک هایی در مزیت عملکردی و تمرکز بر رضایت مشتری، معرفی فرآیندهای اصلی و رشد سازمان از یک تیم به یک سازمان حرفه ای و رها کردن برخی فرهنگ های نادرست است.

زمانی که شرکت اصول را در جای مناسب خود به کار گیرد، مرحله شتابدهی آغاز می شود؛ بنابراین آماده سنجش است.

آن طور که اغلب گمان می رود خلاقیت محدود به درک نیست. این امر نیاز به پرورش، ساخت و شتاب دهی دارد. به طور نمونه بسیاری از فعالیت های اقتصادی موفق حداقل دو بار قبل از شروع تغییر مسیر می دهند. یک استارت آپ اینترنتی که قبلا برای یک کسب وکار پادکست سرمایه گذاری شده بود در مرحله پرورش ایده دیگری را کشف کرد. زمانی که iTunes شروع به ارائه پادکست ها کرد موسسان تصمیم گرفتند تا سرمایه گذاری خود را بازتوزیع کنند و در نتیجه ایده توئیتر بوجود آمد.


صلاحیت های کلیدی مورد نیاز در مراحل مختلف پدیدآوری چه چیزهایی هستند: پرورش، ساخت و شتابدهی؟
زمانی که در مرحله پرورش هستیم، رهبری نوآور سازمانی نیاز به توانا بودن در بیان مفهوم دارد. در THNK ما به رهبران سازمانی آموزش می دهیم تا چگونه ایده های خود را عملی کنند. رهبری نوآورانه در سازمان نیاز به ثابت قدم بودن و در عین حال منعطف بودن دارد. یعنی بتوان ماهیت دیدگاه فردی را حفظ کرد و در عین حال هرجا که نیاز به تغییر شکل است انعطاف پذیر بود. بنابراین خلاقیت در مرحله پدیدآوری بسیار مهم و ضروری است.

زمانی که یک تیم را می سازیم، رهبری نوآورانه سازمانی به معنی توجه خاص داشتن به ترکیب اعضای تیم است. این به معنی جذب و اشتغال اعضایی در تیم است که کیفیت و گوناگونی تیم را بالا می برند. افرادی که توانایی به چالش کشیدن و تغییر را دارند. همان طور که نوآوری نیاز به خلاقیت در کل مسیر فرآیند دارد، رهبری نوآورانه سازمانی به معنی ایجاد تیم هایی است که بتوانند بهره ور باشند و به تغییر همه چیز ادامه دهند.

در مرحله پدیدآوری بسیاری از شایستگی های متناقض برای رهبری نوآورانه سازمانی مورد نیاز هستند: از یک نظر خاص، ظرفیت تمرکز، حرکت در مسیر درست، دقیق بودن مانند یک هنرمند.

از نظر دیگر ظرفیت اجازه خروج دادن، منعطف بودن، تغییر ذهن افراد در زمان مورد نیاز مورد توجه است. توانایی در ترکیب این دو سطح رهبری سازمان یعنی توانایی در تفویض بین اینها و دانستن اینکه چه زمانی باید کار را شروع کنیم، نکته مهم در رهبری نوآورانه است.

رهبر سازمانی که بتواند هماهنگی های گوناگون را به هم متصل کند و انواع مختلف خلاقیت و رهبری را در مراحل مختلف یک سرمایه گذاری نوآورانه ایجاد کند ضروری به نظر می رسد.

آیا جهان به اندازه کافی از این رهبران کسب وکار دارد؟ رهبران سازمانی در چه جاهایی می توانند توانایی های رهبری نوآورانه سازمان خود را بهبود ببخشند؟ اگر نوآوری به دلیل اینکه نیاز به خلاقیت در سراسر مسیر و رهبری مدارج بالا در همه مراحل دارد یک کلمه میانه است پس آن مکان باید یک مکتب ادراکی باشد.

نگرش مکتب ادراکی
نوآوری از دو جنبه ضروری و مهم تشکیل شده است: درک و پدیدآوری. یک مکتب ادراکی شایستگی های کلیدی را که رهبری نوآورانه سازمانی در این دو مرحله نیاز دارد، تقویت می کند و جریان درک را به خوبی مرحله پدیدآوری توانا می سازد. بنابراین تفاوت بین یک مکتب کسب وکار با یک مکتب طراحی در چیست؟ 

مکتب کسب وکار بر رجحان مدیریت تمرکز می کند و تمرکز مکتب طراحی بر طراحی محصول است. مکتب ادراکی در مقابل بر رجحان نوآوری و طراحی مدل کسب وکار متمرکز است. این بستگی به زمان معین در توسعه رهبری نوآورانه سازمان دارد و یک طرز فکر بسیار کارآفرینانه را توسعه می دهد. THNK مانند یک مکتب ادراکی است. برنامه اجرایی آن با کار بر چالش های اجتماعی، یک گروه متنوع از رهبران سازمانی را جمع آوری می کند و به یک پروژه نوآوری شتاب می دهد.

مکتب ادراکی شامل عناصر مکاتب معماری، مهندسی و نهادهای تکنولوژیک می شود. یک مدل رهبری نوآورانه سازمانی، بن ون برکل (Ben van Berkel)، از بنیان گذاران و معمار اصلی یو ان استودیو است. او احساس زیبایی شناختی از ساخت ساختمان ها را با درک عمیقی از نگرش علمی ترکیب می کند. 

اشتیاق و درک با یکدیگر مثمر ثمر خواهند شد. THNK از رهبری نوآور سازمان در تقویت صلاحیت های مورد نیاز در جمع آوری ایده های جدید و تغییر آنها به یک استارت آپ قابل دوام یا پروژه شرکت نوآورانه حمایت می کند. برنامه اجرایی به فهم ایده های نوآورانه و فرآیند درک خلاق آنها سرعت می بخشد. این مسیر ما در پاسخگویی به نیازهای امروز با منفعت جستن از فرصت های فعلی و همکاری برای تغییر جهان است.

چاپ این مطلب

  چگونه یک کسب‌وکار خانگی موفق داشته باشیم؟
ارسال کننده: afshin21 - ۹۴/۶/۲۲، ۱۱:۰۶ عصر - انجمن: کارآفرینی و ایده های درآمدزایی - بدون پاسخ

آیا شما از آن دسته افرادی هستید که اجاره‌ی یک فضای اداری و استخدام نیروی کار را مانع بهره‌وری می‌دانید؟ ترجیح می‌دهید کسب و کار خود را داشته باشید و از منزل خود به تنهایی و یا به همراه یک شریک آن را اداره کنید؟

اگر جواب شما مثبت است، شما تنها نیستید. بر اساس آمار اعلام شده توسط اداره‌ی آمار آمریکا، بیش از ۲۳ میلیون شرکت بدون کارمند در آمریکا فعالیت می‌کنند.

افرادی را می‌شناسم که از کار بر روی میز آشپزخانه‌ی خود یک کسب‌وکار یک میلیون دلاری برای خود ساخته‌اند. اگرچه این کار امکان پذیر است و شما هم می‌توانید موفقیت‌های دیگران را تکرار کنید، اما در عین حال اداره یک کسب‌وکار خانگی می‌تواند بسیار دشوار باشد، زیرا خانه‌ی شما محل استراحت و آرامش در کنار خانواده و انجام کارهای خانه نیز هست و اگر صاحب فرزند نیز باشید، زمان زیادی را باید با آنها سپری کنید.

با قبول تمامی این موارد، اگر تصمیم دارید تا یک استارتاپ موفق داشته باشید که بتواند یک میلیون دلار و بیشتر از آن برای شما درآمدزایی کند، یعنی شما آماده‌ی چالش هستید. بنابراین، برای تکرار موفقیت افرادی که در این زمینه به نتیجه رسیده‌اند چه‌ کارهایی باید انجام دهید؟

برای شروع چند نکته به شما ارائه می‌شود، اما هنگامی‌که شروع به پیشرفت کردید، باید بر اساس موقعیت، محصول، بازار و مشتریان خود برنامه‌ریزی کنید.

۱. انگیزه خود را حفظ کنید
اگر پول انگیزه‌ی شماست، ممکن است وقتی بودجه‌های درآمدی شما کاهش یابد یا در زمان سختی تسلیم شوید. برای کار خود انگیزه‌های درستی انتخاب کنید تا در مواقع سختی به شما قدرت ایستادگی و توانایی ادامه‌ی مسیر بدهد.

۲. برون‌سپاری کنید
کارهای عادی زیادی وجود دارد که ممکن است به کارهایی سخت و طاقت‌فرسا تبدیل شوند (مانند مدیریت هزینه‌ها، کنترل رسانه‌های اجتماعی). کارهایی که در توان شما نیستند را به راحتی به یک کارگزار دیگر برون‌سپاری کنید.

۳. هر روز یک کار بزرگ انجام دهید
تمرکز بر یک یا دو کار مهم در هر روز (کارهایی که باعث پیشرفت کسب‌وکارتان می‌شوند) باعث می‌شود بتوانید آن کارها را به خوبی انجام داده و مسیر خود را ادامه دهید. انجام چندین کار بطور همزمان موجب شکست می‌شود و این موضوع می‌تواند بزرگترین دلیل برای شروع نکردن یک کسب و کار خانگی برای افراد باشد.

۴.  به زمان خود بیاندیشید
در زندگی شخصی‌تان در خانه عوامل زیادی (زندگی اجتماعی، تعطیلات و …) ممکن است حواس شما را پرت کنند. اهدافی را که می‌خواهید به آنها برسید برای خود اولویت‌بندی کنید و گاهی برای ایجاد انگیزه، به خود استراحت بدهید.

۵. کارآفرینی خیالبافی نیست
کارآفرینی یا ایجاد یک شرکت بر خلاف آنچه که تصور می‌شود یک خیال یا توهم نیست. بیشتر مواقع کارآفرینی یعنی چندین روز درخانه ماندن و پشت لپ‌تاپ خود نشستن. شما ساعات کار ثابتی ندارید، اغلب ساعات کارتان طولانی است.

۶. شما کسی هستید که موفقیت را برای خود تعریف می‌کنید
بسیار مهم است که این حقیقت را بدانید که این شما هستید که موفقیت را برای خود تعریف می‌کنید. هیچ کس دیگری این مسئولیت را ندارد و کار شما تا آنجا که شما بخواهید پیشرفت خواهد کرد.

۷. دو موضوع باید ۹۰ درصد از توجه شما را به خود اختصاص دهد
تولید و فروش. بدون یک محصول با کیفیت شما نباید انتظار فروش داشته باشید و بدون فروش، شما قادر نخواهید بود تجربه‌ی تولید خود را بهبود دهید. آنچنان که گای کاوازاکی معروف می‌گوید ” فروش همه چیز را درست می‌کند.” با این عبارت زندگی کنید زیرا زمانی که شما بودجه‌ی در گردش مثبتی دارید می‌توانید به جلو حرکت کنید.

۸. مهارت‌های جدید بیاموزید
تمام مهارت‌هایی که به پیشرفت کسب‌وکارتان کمک می‌کند را بیاموزید مانند بازاریابی، خدمات مشتری و غیره. کارفرماها بهتر است این مهارت‌ها را در مراحل مقدماتی بیاموزند.

۹. از شکست‌ها ناامید نشوید
اگر تازه شروع به کارآفرینی کرده‌اید، شکست‌ها قریب‌الوقوع هستند. ناامید نشوید. به راهکار و یا روش اجرا فکر کنید و یا ایده‌های بهتر بعدی خود را بررسی کنید. زمانی که به تلاش کردن ادامه دهید شانس بُرد خود را افزایش می‌دهید.

۱۰. از روند کار لذت ببرید
در هنگام ایجاد کسب و کار خود، به راحتی می‌توانیم دچار استرس شده و در روند کار گم شویم. بهترین راه‌حل در این شرایط این است که بر روی دلیل شروع این کار از ابتدا تمرکز کنید. به آن لحظه فکر کنید و بر روی چیزهایی که شما را خوشحال می‌کنند تمرکز کنید. از روز خود لذت ببرید. این کار مسابقه‌ی دو سرعت نیست، بلکه مانند یک مسابقه‌ی دو امدادی است.

هرگاه تصمیم به شروع یک کسب و کار گرفتید، همیشه با مشکلی شروع کنید که گروه خاصی از مردم یا حتی خودتان با آن روبه رو شده اید. کسب و کار خود را به این دلیل شروع نکنید که تحقیق در بازار، پتانسیل بالقوه‌ای برای صنعت شما نشان ‌داده است.

برای یافتن چالش‌هایی که مردم با آنها مواجه هستند بیشتر تلاش کنید، سپس محصول و یا خدمات خود را بر اساس آن مشکلات به آنها ارائه دهید. بیشتر کارآفرینان مشکلاتی را حل کرده‌اند که خود در زندگی شخصی با آن مواجه شده بودند.

چاپ این مطلب