♦️ آموزش افزودن پنل مدیریت به شکلی دیگر
➖➖➖➖➖➖➖➖
♦️ ربات های خود را با پنل ، مدیریت کنید
♦️با توجه به اینکه هر ربات تلگرامی نیاز به یک ادمین و پنلی که ادمین با استفاده از آن ربات را مدیریت کند دارد ، ما این آموزش را برای شما آماده کرده ایم تا شما بتوانید هر سورسی که در اختیار دارید را به آن پنل مدیریت اضافه کنید شما می توانید با استفاده از این آموزش هر سورسی که از کانال سوری ربات دانلود می کنید و فاقد پنل مدیریت هستند ، به آن ها پنل مدیریت اضافه کنید،هر چند قبلا در این آموزش ، شکلی دیگر از افزودن پنل مدیریت به ربات را برایتان ارسال کرده بودیم،امروز با آموزشی دیگر در خدمتتون هستیم.
➖➖➖➖➖➖➖➖
♦️ابتدا باید تعریف کنیم که ادمین چه کسی ست و باید متغیر ادمین رو قرار بدیم :
$admin ="123456789";
♦️جای اعداد شناسه کاربری خود را قرار دهید.
♦️حالا باید متغیرهای زیر رو به سورس اصلی ربات اضافه کنیم :
$text = $update->message->text; $fromid = $update->message->from->id; $chatid = $update->message->chat->id;
♦️خب ما الان باید تابع ارسال رو به سورسمون اضافه کنیم :
function SendMessage($chatid,$text,$keyboard){
bot('sendMessage',
'chat_id'=>$chatid, 'text'=>$text, 'reply_markup'=>$keyboard );
}
♦️حالا باید بیایم آخر سورس و قبل از ?> کد زیر رو قرار میدیم :
elseif($text == '/panel' && $fromid == $admin){ SendMessage($admin,"مدیر گرامی به پنل مدیریت خوش آمدید❤","html","true",$buttonmanaging);
}else{ SendMessage($chatid,"شما مدیر نیستید❗","html","true",$buttonmenu);
}
♦️در اینجا ما تعریف کردیم که وقتی متن برابر باشه با /panel و اینو ادمین ارسال کرده باشه بگه به پنل مدیریت خوش آمدید و بره روی دکمه ها با آدرس (خودتون تعریف کنید اینجاشو)
$buttonmanaging
♦️و اگه ادمین ارسال نکرد و یک کاربر عادی ارسال کرد بهش بگه که شما مدیر نیستید و بره به منوی اصلی با آدرس *(خودتون تعریف کنید اینجاشو)*
$buttonmenu
♦️خب کار تمومه حالا اگه میخواید برای قسمت مدیریت دکمه تعریف کنید کافیه بعد دکمه مدیریت ، کد بزارید و حتما شرط اجرا برای ادمین رو برای کد بزارید.
♦️برای اضافه کردن دکمه ها،میتونید از آموزش قبلی استفاده کنید.
➖➖➖➖➖➖➖➖
♦️امیدوارم از این آموزش استفاده لازم رو ببرید
➖➖➖➖➖➖➖➖
@BotSorce
➖➖➖➖➖➖➖➖
♦️ ربات های خود را با پنل ، مدیریت کنید
♦️با توجه به اینکه هر ربات تلگرامی نیاز به یک ادمین و پنلی که ادمین با استفاده از آن ربات را مدیریت کند دارد ، ما این آموزش را برای شما آماده کرده ایم تا شما بتوانید هر سورسی که در اختیار دارید را به آن پنل مدیریت اضافه کنید شما می توانید با استفاده از این آموزش هر سورسی که از کانال سوری ربات دانلود می کنید و فاقد پنل مدیریت هستند ، به آن ها پنل مدیریت اضافه کنید،هر چند قبلا در این آموزش ، شکلی دیگر از افزودن پنل مدیریت به ربات را برایتان ارسال کرده بودیم،امروز با آموزشی دیگر در خدمتتون هستیم.
➖➖➖➖➖➖➖➖
♦️ابتدا باید تعریف کنیم که ادمین چه کسی ست و باید متغیر ادمین رو قرار بدیم :
$admin ="123456789";
♦️جای اعداد شناسه کاربری خود را قرار دهید.
♦️حالا باید متغیرهای زیر رو به سورس اصلی ربات اضافه کنیم :
$text = $update->message->text; $fromid = $update->message->from->id; $chatid = $update->message->chat->id;
♦️خب ما الان باید تابع ارسال رو به سورسمون اضافه کنیم :
function SendMessage($chatid,$text,$keyboard){
bot('sendMessage',
'chat_id'=>$chatid, 'text'=>$text, 'reply_markup'=>$keyboard );
}
♦️حالا باید بیایم آخر سورس و قبل از ?> کد زیر رو قرار میدیم :
elseif($text == '/panel' && $fromid == $admin){ SendMessage($admin,"مدیر گرامی به پنل مدیریت خوش آمدید❤","html","true",$buttonmanaging);
}else{ SendMessage($chatid,"شما مدیر نیستید❗","html","true",$buttonmenu);
}
♦️در اینجا ما تعریف کردیم که وقتی متن برابر باشه با /panel و اینو ادمین ارسال کرده باشه بگه به پنل مدیریت خوش آمدید و بره روی دکمه ها با آدرس (خودتون تعریف کنید اینجاشو)
$buttonmanaging
♦️و اگه ادمین ارسال نکرد و یک کاربر عادی ارسال کرد بهش بگه که شما مدیر نیستید و بره به منوی اصلی با آدرس *(خودتون تعریف کنید اینجاشو)*
$buttonmenu
♦️خب کار تمومه حالا اگه میخواید برای قسمت مدیریت دکمه تعریف کنید کافیه بعد دکمه مدیریت ، کد بزارید و حتما شرط اجرا برای ادمین رو برای کد بزارید.
♦️برای اضافه کردن دکمه ها،میتونید از آموزش قبلی استفاده کنید.
➖➖➖➖➖➖➖➖
♦️امیدوارم از این آموزش استفاده لازم رو ببرید
➖➖➖➖➖➖➖➖
@BotSorce
♦️امروز به جای خطاهای وب،میخوایم یکی از خطاهای رایجی که اکثر دوستان در اجرای سورسهای php باهاش مواجه میشن کمی توضیح بدیم.
➖➖➖➖➖➖➖➖
syntax error, unexpected '$chat_id' (T_VARIABLE) in line ∆∆
♦️جای ∆∆ هر عددی،یعنی هر لاینی میتونه باشه
➖➖➖➖➖➖➖➖
♦️خب این خطا چه موقع رخ میده؟
♦️این خطا زمانی رخ میده که احتمالا وقتی در حال ادیت سورس هستیم،ناخواسته یکی از این دو موردی که خدمتتون عرض میکنم رو پاک میکنیم.
➖➖➖➖➖➖➖➖
اولی
👉🏼 , 👈🏼
دومی هم
👉🏼 ; 👈🏼
➖➖➖➖➖➖➖➖
♦️اما نکته ای که هست،وقتی خطا رو به ما نشون میده،بطور مثال میگه
syntax error, unexpected '$chat_id' (T_VARIABLE) in line 20
♦️وقتی لاین 20 رو بررسی میکنید،متوجه هیچگونه اشتباه یا پاک شدن دو موردی که خدمتتون عرض کردم،نمیشید...!!!!
♦️خب اشکال کار کجاست؟
♦️نکته دقیقا همینجاست،زمانیکه که لاین 20 رو به ما به عنوان خطا گزارش میده،شما باید تو لاین قبلی،یعنی لاین 19 بگردی دنبال اشتباه و پیدا کردن اون دو مورد که پاک شده.
♦️بعد از پیدا کردن و رفع ایراد،دیگه چنین خطایی رو مشاهده نمیکنید.(البته اگه بقیه جاهای سورس رو به همینصورت پاک نکرده باشیم،اگه این اتفاق افتاده باشه،باید رفع ایراد بشه تا دیگه باگی وجود نداشته باشه)
➖➖➖➖➖➖➖➖
#موفق_باشید
اگه منبع خودتو نمیزنی
#کپی_آزاد
@BotSorce
➖➖➖➖➖➖➖➖
syntax error, unexpected '$chat_id' (T_VARIABLE) in line ∆∆
♦️جای ∆∆ هر عددی،یعنی هر لاینی میتونه باشه
➖➖➖➖➖➖➖➖
♦️خب این خطا چه موقع رخ میده؟
♦️این خطا زمانی رخ میده که احتمالا وقتی در حال ادیت سورس هستیم،ناخواسته یکی از این دو موردی که خدمتتون عرض میکنم رو پاک میکنیم.
➖➖➖➖➖➖➖➖
اولی
👉🏼 , 👈🏼
دومی هم
👉🏼 ; 👈🏼
➖➖➖➖➖➖➖➖
♦️اما نکته ای که هست،وقتی خطا رو به ما نشون میده،بطور مثال میگه
syntax error, unexpected '$chat_id' (T_VARIABLE) in line 20
♦️وقتی لاین 20 رو بررسی میکنید،متوجه هیچگونه اشتباه یا پاک شدن دو موردی که خدمتتون عرض کردم،نمیشید...!!!!
♦️خب اشکال کار کجاست؟
♦️نکته دقیقا همینجاست،زمانیکه که لاین 20 رو به ما به عنوان خطا گزارش میده،شما باید تو لاین قبلی،یعنی لاین 19 بگردی دنبال اشتباه و پیدا کردن اون دو مورد که پاک شده.
♦️بعد از پیدا کردن و رفع ایراد،دیگه چنین خطایی رو مشاهده نمیکنید.(البته اگه بقیه جاهای سورس رو به همینصورت پاک نکرده باشیم،اگه این اتفاق افتاده باشه،باید رفع ایراد بشه تا دیگه باگی وجود نداشته باشه)
➖➖➖➖➖➖➖➖
#موفق_باشید
اگه منبع خودتو نمیزنی
#کپی_آزاد
@BotSorce
♦️یک مشکلی که خیلی ها رو اذیت میکند ، متوجه شدن از ارور های ربات هست ، رباتتون کار نمیکند؟ خوب دردسر شروع شده است
♦️در php معمولا ارورهای مربوط به ربات به ۲ دسته تقسیم می شوند.
♦️ #دسته_اول
♦️ارور ها مربوط به syntax هستند که در ارور لوگ ها ( error_log ) ذخیره می شوند.
♦️ارور های تفاوت متغیر ها و ... که موجب کرش شدن برنامه هست در این بخش قرار میگیرند.
♦️#دسته_دوم
♦️مربوط به ارور هایی هستند که خود تلگرام برای ما ارسال می کند ( مثلا chat id اشتباه هست و ...)
♦️برای جلوگیری از این ارورها باید یقین پیدا کنید که هر داده ، دارای چه مقادیری از چه نوعی هست که برای این کار باید مقادیر رو var_dump کنید.
♦️خب وقتی تلگرام درخواست ها را ارسال میکند شما اگر echo یا var_dump هم کنید ، باز در دسترسی شما نیستند.
♦️خوب برای این کار شما بهتر هست تمام خروجی هایی که در درخواست های تلگرام دارید ، توی یک فایل ذخیره کنید.
♦️برای مثال: اول فایل ربات کد زیر را قرار دهید ( خط ۱ ):
ob_start();
♦️و در آخرین خط فایل نیز این کد قرار بدید :
file_put_contents('log',ob_get_clean());
♦️شما اگر بین این دو کد echo یا var_dump کنید ، در فایل log ذخیره می شود.
➖➖➖➖➖➖➖➖
#اگه_منبع_خودتو_نمیزنی
کپی کردی،توئم باید بزنی
#کپی_آزاد
@BotSorce
♦️در php معمولا ارورهای مربوط به ربات به ۲ دسته تقسیم می شوند.
♦️ #دسته_اول
♦️ارور ها مربوط به syntax هستند که در ارور لوگ ها ( error_log ) ذخیره می شوند.
♦️ارور های تفاوت متغیر ها و ... که موجب کرش شدن برنامه هست در این بخش قرار میگیرند.
♦️#دسته_دوم
♦️مربوط به ارور هایی هستند که خود تلگرام برای ما ارسال می کند ( مثلا chat id اشتباه هست و ...)
♦️برای جلوگیری از این ارورها باید یقین پیدا کنید که هر داده ، دارای چه مقادیری از چه نوعی هست که برای این کار باید مقادیر رو var_dump کنید.
♦️خب وقتی تلگرام درخواست ها را ارسال میکند شما اگر echo یا var_dump هم کنید ، باز در دسترسی شما نیستند.
♦️خوب برای این کار شما بهتر هست تمام خروجی هایی که در درخواست های تلگرام دارید ، توی یک فایل ذخیره کنید.
♦️برای مثال: اول فایل ربات کد زیر را قرار دهید ( خط ۱ ):
ob_start();
♦️و در آخرین خط فایل نیز این کد قرار بدید :
file_put_contents('log',ob_get_clean());
♦️شما اگر بین این دو کد echo یا var_dump کنید ، در فایل log ذخیره می شود.
➖➖➖➖➖➖➖➖
#اگه_منبع_خودتو_نمیزنی
کپی کردی،توئم باید بزنی
#کپی_آزاد
@BotSorce
♦️شاید شما هم بخواهید از سرویس های فوق العاده و رایگان openshift استفاده کنید ولی به علت پیچیدگی آن بیخیال شده باشید !
➖➖➖➖➖➖➖➖
OpenShift
♦️چیست؟
➖➖➖➖➖➖➖➖
♦️openshift
یک سیستمی ست که به شما یک هاست رایگان و قدرتمند با گواهی SSL ارائه می دهد که شما می توانید با هر زبان برنامه نویسی که موجود هست با سرویس های مد نظرتان نصب کنید و استفاده کنید
➖➖➖➖➖➖➖➖
♦️ #ادامه_در_پست_بعد
➖➖➖➖➖➖➖➖
OpenShift
♦️چیست؟
➖➖➖➖➖➖➖➖
♦️openshift
یک سیستمی ست که به شما یک هاست رایگان و قدرتمند با گواهی SSL ارائه می دهد که شما می توانید با هر زبان برنامه نویسی که موجود هست با سرویس های مد نظرتان نصب کنید و استفاده کنید
➖➖➖➖➖➖➖➖
♦️ #ادامه_در_پست_بعد
♦️خطای 408
Request Timeout
♦️ﭘﺎﯾﺎﻥ ﺣﺪﺍﮐﺜﺮ ﺯﻣﺎﻥ ﺩﺭﺧﻮﺍﺳﺖ
♦️ﮐﺪ 408 ﺯﻣﺎﻧﯽ ﺭﺥ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﺳﺮﻭﺭ ﺩﺭ ﺍﻧﺘﻈﺎﺭ ﺩﺭﺧﻮﺍﺳﺖ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮﯼ ﺍﺳﺖ، ﺍﻣﺎ ﻫﯿﭻ ﭘﺎﺳﺨﯽ ﺩﺭ ﺯﻣﺎﻥ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ ﺩﺭﯾﺎﻓﺖ ﻧﻤﯽ کند، ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺳﺮﻭﺭ خطای 408 ﺭﺍ ﺍﺭﺳﺎﻝ ﻣﯽ ﮐﻨﺪ ﻭ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮ ﻣﯽ ﺗﻮﺍﻧﺪ ﻣﺠﺪﺩﺍ ﻭ ﺩﺭ ﺩﻓﻌﺎﺕ ﺑﻌﺪﯼ ﺩﺭﺧﻮﺍﺳﺖ ﺧﻮﺩ ﺭﺍ ﺍﺭﺳﺎﻝ ﮐﻨﺪ.
➖➖➖➖➖➖➖➖
@BotSorce
Request Timeout
♦️ﭘﺎﯾﺎﻥ ﺣﺪﺍﮐﺜﺮ ﺯﻣﺎﻥ ﺩﺭﺧﻮﺍﺳﺖ
♦️ﮐﺪ 408 ﺯﻣﺎﻧﯽ ﺭﺥ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﺳﺮﻭﺭ ﺩﺭ ﺍﻧﺘﻈﺎﺭ ﺩﺭﺧﻮﺍﺳﺖ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮﯼ ﺍﺳﺖ، ﺍﻣﺎ ﻫﯿﭻ ﭘﺎﺳﺨﯽ ﺩﺭ ﺯﻣﺎﻥ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ ﺩﺭﯾﺎﻓﺖ ﻧﻤﯽ کند، ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺳﺮﻭﺭ خطای 408 ﺭﺍ ﺍﺭﺳﺎﻝ ﻣﯽ ﮐﻨﺪ ﻭ ﻭﺍﺳﻂ ﮐﺎﺭﺑﺮ ﻣﯽ ﺗﻮﺍﻧﺪ ﻣﺠﺪﺩﺍ ﻭ ﺩﺭ ﺩﻓﻌﺎﺕ ﺑﻌﺪﯼ ﺩﺭﺧﻮﺍﺳﺖ ﺧﻮﺩ ﺭﺍ ﺍﺭﺳﺎﻝ ﮐﻨﺪ.
➖➖➖➖➖➖➖➖
@BotSorce
♦️🇮🇷یک هدیه برای دوستان عرب زبانمان در کانال
➖➖➖➖➖➖➖➖
♦️🇮🇶لدينا هدية لدينا في اللغة العربية صديق في قناتنا
➖➖➖➖➖➖➖➖
♦️🇬🇧We have a gift for our Arab language friend's in channel
➖➖➖➖➖➖➖➖
♦️🇮🇶لدينا هدية لدينا في اللغة العربية صديق في قناتنا
➖➖➖➖➖➖➖➖
♦️🇬🇧We have a gift for our Arab language friend's in channel
♦️🇮🇷 سورس ربات آنتی اسپم به زبان عربی،هدیه ای برای دوستان عرب زبانمان در کانال
➖➖➖➖➖➖➖➖
♦️🇮🇶 المصدر بوت مكافحة البريد المزعج في اللغة العربية . هدية لدينا في اللغة العربية صديق في القناة .
➖➖➖➖➖➖➖➖
♦️🇬🇧 Source bot Anti-Spam in Arabic language . Gift for our Arabian friend's in channel .
➖➖➖➖➖➖➖➖
🔐 Password :
@botsorce
➖➖➖➖➖➖➖➖
@BotSorce
➖➖➖➖➖➖➖➖
♦️🇮🇶 المصدر بوت مكافحة البريد المزعج في اللغة العربية . هدية لدينا في اللغة العربية صديق في القناة .
➖➖➖➖➖➖➖➖
♦️🇬🇧 Source bot Anti-Spam in Arabic language . Gift for our Arabian friend's in channel .
➖➖➖➖➖➖➖➖
🔐 Password :
@botsorce
➖➖➖➖➖➖➖➖
@BotSorce
👍1
♦️کتاب آموزش ساخت ربات تلگرام
♦️این کتاب هنوز تکمیل نشده و فقط بدلیل درخواستهایی که دوستان داشتن،کمی زودتر از موعد میفرستیمش.
♦️و اینکه اگه خدا بخواد تا یکی دو هفته دیگه تکمیل شده ش رو میفرستم تو کانال
♦️امیدواریم که مطالب کتاب مفید باشه.
♦️ضمنا،در نسخه کامل این کتاب تمامی مشکلات این نسخه برطرف خواهد شد.
➖➖➖➖➖➖➖➖➖
@BotSorce
♦️این کتاب هنوز تکمیل نشده و فقط بدلیل درخواستهایی که دوستان داشتن،کمی زودتر از موعد میفرستیمش.
♦️و اینکه اگه خدا بخواد تا یکی دو هفته دیگه تکمیل شده ش رو میفرستم تو کانال
♦️امیدواریم که مطالب کتاب مفید باشه.
♦️ضمنا،در نسخه کامل این کتاب تمامی مشکلات این نسخه برطرف خواهد شد.
➖➖➖➖➖➖➖➖➖
@BotSorce
♦️صرفا جهت اطلاع رسانی ها و ارائه برخی خدمات،سایت کانال بر روی یکی از دامنه های رایگان و ظرف مدت دو روز راه اندازی شده.
♦️به مرور به قابلیتها و خدمات سایت افزوده خواهد شد و مشکلات نیز برطرف خواهد شد.
♦️ با کلیک روی همین متن و همچنین از طریق دکمه زیر این پست میتونید وارد سایت بشید.
♦️ضمنا،سایت اصلی ما سالهاست در زمینه آموزش برنامه نویسی فعال بوده،اما بدلیل اینکه با نام و دامنه دیگری بود،در حال حاضر از همین دامنه برای اطلاع رسانی و ... استفاده کردیم.
♦️ درصورت لزوم،سایت اصلی هم خدمت شما دوستان معرفی خواهد شد
♦️به مرور به قابلیتها و خدمات سایت افزوده خواهد شد و مشکلات نیز برطرف خواهد شد.
♦️ با کلیک روی همین متن و همچنین از طریق دکمه زیر این پست میتونید وارد سایت بشید.
♦️ضمنا،سایت اصلی ما سالهاست در زمینه آموزش برنامه نویسی فعال بوده،اما بدلیل اینکه با نام و دامنه دیگری بود،در حال حاضر از همین دامنه برای اطلاع رسانی و ... استفاده کردیم.
♦️ درصورت لزوم،سایت اصلی هم خدمت شما دوستان معرفی خواهد شد
@Botsorce_ChannelBot.rar
3 KB
@BotSorce_PvResanSaz.rar
32.5 KB
♦️کامپوزر Composer# چیست؟
و چه کاربردی دارد؟!
➖➖➖➖➖➖➖➖
♦️خلاصه
♦️کامپوزر، یک سامانهی مدیریت بسته (Package) برای زبان برنامه نویسی php است؛ که قالب استانداردی را برای مدیریت وابستگیها (Dependencies) و کتابخانهها (Libraries) در PHP فراهم میکند. کامپورز توسط Nils Adermann و Jordi Boggiano (شخصی که توسعه پروژه را ادامه داد) توسعه داده شده است.
♦️کامپوزر به شدت از NPM نود جی اس و Bundler روبی الهام گرفته است.
♦️کامپوزر توسط واسط خط فرمان اجرا میشود و وابستگیها را برای برنامه یا بهتر بگوییم، سورس کدشما نصب میکند. همچنین به شما این امکان را میدهد که بستههای موجود در Packagist را نصب کنید.
♦️کامپوزر به عنوان بخش جداناپذیزی در بسیاری از پروژه ها php مثل لاراول استفاده شده است.
♦️چارچوبهای مورد پشتیبانی
♦️سیمفونی ، لاراول ، کدایگنایتر ، کیک پی اچ پی ، فیول پی اچ پی ، دروپال
♦️جالب است که بدانید، لوگوی کامپوزر Composer# به معنی آهنگساز بوده و برشخصی که موسیقی میسازد دلالت میکند ♦️بیشتر یک رهبر ارکستر را نشان میدهد تا یک آهنگساز! هرچند که خیلی از افراد باور دارند که لوگو نشان دهندهی بتهوون است.
♦️اطلاعات مفصل
Dependency Managment
♦️ابتدا بهتر است که با مفهوم
Dependency Managment
یا مدیریت وابستگیها آشنا شویم.
♦️زمانی که ما اقدام به برنامهنویسی میکنیم، فارغ از اینکه از چه فریمورک یا زبان برنامهنویسی برای کدنویسی استفاده میکنیم، گاهیاوقات نیاز به استفاده از کدها، پکیجها، و لایبرریهای(کتابخانه) سایر برنامهنویسان که به صورت اپنسورس در اینترنت عرضه شدهاند داریم تا بتوانیم به جای آنکه خودمان اقدام به نوشتن ، مثلاً کلاس خاصی کنیم، از کدهایی که قبلاً توسط سایر توسعهدهندگان نوشته شده و آزمایش خود را پس دادهاند استفاده کنیم.
♦️به طور خلاصه، Composer ابزاری است که فرایند Dependency Management (مدیریت وابستگی) را برای توسعهدهندگان زبان برنامهنویسی PHP فراهم و تسهیل میکند.
حالا با تعریف بالا و هر آنچه که در ابتدای توضیحاتمان گفتیم، مفهوم Composer و کاربرد آن را بهتر درک خواهید کرد.
♦️تاریخچهی Composer
♦️کامپوزردر ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان توسط Nils Adermann و Jordi Boggiano با الهام از ابزارهای NPM و bundler روبی توسعه داده شده و به دنیا عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار بهخصوص از طرف برنامهنویسان زبان برنامهنویسی PHP صورت گرفته است.
♦️عملکرد کامپوزر
♦️همانطور که در بالا گفته شد، کامپوزر یک ابزار کامند لاین میباشد که در آن با استفاده از یکسری دستورات از پیش تعریف شده، میتوان به مدیریت منابع خارجی برای استفاده در پروژهی خود پرداخت.
♦️لازم به ذکر است که برای استفاده از این ابزار حداقل به نسخهٔ 5.3.2 از زبان PHP نیاز خواهیم داشت.
♦️این ابزار برخلاف ابزارهایی همچون APT هرگز چیزی را به صورت گلوبال (سراسری) دانلود نمیکند بلکه این ابزار بر پایهٔ هر پروژه کار میکند. منظور این است که اگر شما در پروژهای، کتابخانهای را وارد کنید، آن کتابخانه فقط در همان پروژه قابل استفاده است و برای استفاده در پروژهی دیگر، بایستی در همان پروژه نیز دوباره کامپوزر اقدام به دانلود کتابخانه کند.
♦️ممکن است این سؤال برای شما پیش بیاید که ابزار کامپوزر پکیجهای مورد نیاز را از کجا دانلود میکند؟!
♦️منبع اصلی که کامپوزر از آن استفاده میکند، سایتی تحت عنوان Packagist است که به عنوان مخزن (Repository) پیشفرض پروژههای PHP میباشد؛ که توسعهدهنندگان فریمورکها و لایبرریهای مختلف، پروژههای خود را در آنجا آپلود کرده و از آن پس با استفاده از کامپوزر میتوان به کلیهی پکیجهای قرار گرفته روی این سایت دسترسی داشت.
♦️دریافت پکیجهای وابسته، به صورت خوکار
♦️اگر شما با استفاده از کامپوزر، از یک پکیج برای پروژه خودتان استفاده کرده باشید و این پکیج نیازمند پکیج دیگری باشد؛ Composer بدون دخالت شما آن را دانلود میکند و در پروژه قرار میدهد. بدین صورت، شما به هیچ عنوان نگران وابستگیهای کتابخانههایی که از آنها استفاده میکنید، نخواهید بود.
♦️مدیریت بارگزاری کلاسها
♦️یکی دیگر از وظایف Composer، مدیریت بارگزاری کلاسها میباشد و عملکرد آن به گونهای است که تنها زمانی یک کلاس لود خواهد شد که شما در کد آن را فراخوانی کرده باشید؛ این امر تاثیر بسیار زیادی در سرعت لود پروژهی شما خواهد داشت.
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@Botsorce
و چه کاربردی دارد؟!
➖➖➖➖➖➖➖➖
♦️خلاصه
♦️کامپوزر، یک سامانهی مدیریت بسته (Package) برای زبان برنامه نویسی php است؛ که قالب استانداردی را برای مدیریت وابستگیها (Dependencies) و کتابخانهها (Libraries) در PHP فراهم میکند. کامپورز توسط Nils Adermann و Jordi Boggiano (شخصی که توسعه پروژه را ادامه داد) توسعه داده شده است.
♦️کامپوزر به شدت از NPM نود جی اس و Bundler روبی الهام گرفته است.
♦️کامپوزر توسط واسط خط فرمان اجرا میشود و وابستگیها را برای برنامه یا بهتر بگوییم، سورس کدشما نصب میکند. همچنین به شما این امکان را میدهد که بستههای موجود در Packagist را نصب کنید.
♦️کامپوزر به عنوان بخش جداناپذیزی در بسیاری از پروژه ها php مثل لاراول استفاده شده است.
♦️چارچوبهای مورد پشتیبانی
♦️سیمفونی ، لاراول ، کدایگنایتر ، کیک پی اچ پی ، فیول پی اچ پی ، دروپال
♦️جالب است که بدانید، لوگوی کامپوزر Composer# به معنی آهنگساز بوده و برشخصی که موسیقی میسازد دلالت میکند ♦️بیشتر یک رهبر ارکستر را نشان میدهد تا یک آهنگساز! هرچند که خیلی از افراد باور دارند که لوگو نشان دهندهی بتهوون است.
♦️اطلاعات مفصل
Dependency Managment
♦️ابتدا بهتر است که با مفهوم
Dependency Managment
یا مدیریت وابستگیها آشنا شویم.
♦️زمانی که ما اقدام به برنامهنویسی میکنیم، فارغ از اینکه از چه فریمورک یا زبان برنامهنویسی برای کدنویسی استفاده میکنیم، گاهیاوقات نیاز به استفاده از کدها، پکیجها، و لایبرریهای(کتابخانه) سایر برنامهنویسان که به صورت اپنسورس در اینترنت عرضه شدهاند داریم تا بتوانیم به جای آنکه خودمان اقدام به نوشتن ، مثلاً کلاس خاصی کنیم، از کدهایی که قبلاً توسط سایر توسعهدهندگان نوشته شده و آزمایش خود را پس دادهاند استفاده کنیم.
♦️به طور خلاصه، Composer ابزاری است که فرایند Dependency Management (مدیریت وابستگی) را برای توسعهدهندگان زبان برنامهنویسی PHP فراهم و تسهیل میکند.
حالا با تعریف بالا و هر آنچه که در ابتدای توضیحاتمان گفتیم، مفهوم Composer و کاربرد آن را بهتر درک خواهید کرد.
♦️تاریخچهی Composer
♦️کامپوزردر ابتدای ماه مارس سال ۲۰۱۲ به صورت رایگان توسط Nils Adermann و Jordi Boggiano با الهام از ابزارهای NPM و bundler روبی توسعه داده شده و به دنیا عرضه شد و تاکنون استقبال بسیار خوبی از این ابزار بهخصوص از طرف برنامهنویسان زبان برنامهنویسی PHP صورت گرفته است.
♦️عملکرد کامپوزر
♦️همانطور که در بالا گفته شد، کامپوزر یک ابزار کامند لاین میباشد که در آن با استفاده از یکسری دستورات از پیش تعریف شده، میتوان به مدیریت منابع خارجی برای استفاده در پروژهی خود پرداخت.
♦️لازم به ذکر است که برای استفاده از این ابزار حداقل به نسخهٔ 5.3.2 از زبان PHP نیاز خواهیم داشت.
♦️این ابزار برخلاف ابزارهایی همچون APT هرگز چیزی را به صورت گلوبال (سراسری) دانلود نمیکند بلکه این ابزار بر پایهٔ هر پروژه کار میکند. منظور این است که اگر شما در پروژهای، کتابخانهای را وارد کنید، آن کتابخانه فقط در همان پروژه قابل استفاده است و برای استفاده در پروژهی دیگر، بایستی در همان پروژه نیز دوباره کامپوزر اقدام به دانلود کتابخانه کند.
♦️ممکن است این سؤال برای شما پیش بیاید که ابزار کامپوزر پکیجهای مورد نیاز را از کجا دانلود میکند؟!
♦️منبع اصلی که کامپوزر از آن استفاده میکند، سایتی تحت عنوان Packagist است که به عنوان مخزن (Repository) پیشفرض پروژههای PHP میباشد؛ که توسعهدهنندگان فریمورکها و لایبرریهای مختلف، پروژههای خود را در آنجا آپلود کرده و از آن پس با استفاده از کامپوزر میتوان به کلیهی پکیجهای قرار گرفته روی این سایت دسترسی داشت.
♦️دریافت پکیجهای وابسته، به صورت خوکار
♦️اگر شما با استفاده از کامپوزر، از یک پکیج برای پروژه خودتان استفاده کرده باشید و این پکیج نیازمند پکیج دیگری باشد؛ Composer بدون دخالت شما آن را دانلود میکند و در پروژه قرار میدهد. بدین صورت، شما به هیچ عنوان نگران وابستگیهای کتابخانههایی که از آنها استفاده میکنید، نخواهید بود.
♦️مدیریت بارگزاری کلاسها
♦️یکی دیگر از وظایف Composer، مدیریت بارگزاری کلاسها میباشد و عملکرد آن به گونهای است که تنها زمانی یک کلاس لود خواهد شد که شما در کد آن را فراخوانی کرده باشید؛ این امر تاثیر بسیار زیادی در سرعت لود پروژهی شما خواهد داشت.
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@Botsorce
👍1
♦️ﮐﺪ php ﺁﭘﻠﻮﺩ ﻓﺎﯾﻞ ﺍﺯ ﻫﺎﺳﺖ ﺑﻪ ﻫﺎﺳﺖ
➖➖➖➖➖➖➖➖
♦️ﺷﺎﯾﺪ ﺑﺮﺍﯼ ﺷﻤﺎ ﻫﻢ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺎﺩﻩ ﺑﺎﺷﻪ ﮐﻪ ﺑﻪ ﻫﺮ ﺩﻟﯿﻠﯽ ﻧﯿﺎﺯ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻓﺎﯾﻠﯽ ﺭﻭ ﺍﺯ ﺭﻭﯼ ﻫﺎﺳﺘﯽ ﮐﭙﯽ ﮐﻨﯿﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ؛
♦️ﯾﺎ ﺍﺯ ﻫﺎﺳﺘﯽ ﺩﺭ ﺣﺎﻝ ﺩﺍﻧﻠﻮﺩﯾﺪ ﺳﺮﻋﺘﺶ ﺑﺴﯿﺎﺭ ﭘﺎﯾﯿﻨﻪ ﻓﺎﯾﻞ ﺭﻭ ﺑﺮﯾﺰﯾﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ﻭ ﺑﺎ ﺳﺮﻋﺖ ﺧﻮﺏ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ؛
♦️ﯾﺎ ﺑﺮﺍﯼ ﻧﺼﺐ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﻣﺜﻞ ﻭﺭﺩﭘﺮﺱ ﻭ ﺟﻮﻣﻼ ( ﮐﻪ ﺍﻭﻝ ﺑﺎﯾﺪ ﻓﺎﯾﻞ ﺭﻭ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ ﻭ ﺩﻭﺑﺎﺭﻩ ﺁﭘﻠﻮﺩ ﮐﻨﯿﺪ ) ﺍﯾﻦ ﺭﻭﺵ ، ﺭﻭﺷﯽ ﺑﯽ ﺩﺭﺩﺳﺮ ﻭ ﻣﻨﺎﺳﺒﻪ ﻭ ﻧﯿﺎﺯ ﺑﻪ ﺍﻧﺠﺎﻡ ﻫﯿﭽﮑﺪﻭﻡ ﺍﺯ ﺍﯾﻦ ﮐﺎﺭ ﻫﺎ ﻧﯿﺴﺖ ﻭ ﺍﺯ ﻫﻤﻪ ﻣﻬﻤﺘﺮ؛
♦️ﺳﺎﯾﺖ ﻫﺎﯼ ﺩﺍﻧﻠﻮﺩ ﻣﺜﻞ ﺭﭘﯿﺪﺷﯿﺮ ﻭ ﻓﻮﺭﺷﯿﺮ ﻭﻗﺖ ﺩﺍﻧﻠﻮﺩ ﺑﺮﺍﺗﻮﻥ ﻧﺎﺯ ﻣﯿﮑﻨﻦ ؟ ﺳﺮﻋﺖ ﺩﺍﻧﻠﻮﺩﺗﻮﻥ ﺭﻭ ﻣﺤﺪﻭﺩ ﻣﯿﮑﻨﻦ ؟ ﻓﺎﯾﻞ ﺭﻭ ﺍﻧﺘﻘﺎﻝ ﺑﺪﯾﺪ ﺑﻪ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ، بعد ﺑﺎﺳﺮﻋﺖ ﻭﺍﻗﻌﯽ ﺩﺍﻧﻠﻮﺩﺵ ﮐﻨﯿﺪ
♦️ﺭﻭﺵ ﮐﺎﺭ
♦️ﯾﻪ ﻓﺎﯾﻞ ﺧﺎﻟﯽ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎ ﭘﺴﻮﻧﺪ ﭘﯽ ﺍﭺ ﭘﯽ ﺑﺴﺎﺯﯾﺪ
ﻣﺜﻼ : upload.php
♦️ﮐﺪ ﺯﯾﺮ ﺭﻭ ﺩﺍﺧﻠﺶ ﻗﺮﺍﺭ ﺑﺪﯾﺪ ﻭ ﻓﺎﯾﻞ ﺭﻭ ﺳﯿﻮ ﮐﻨﯿﺪ
➖➖➖➖➖➖➖➖
➖➖➖➖➖➖➖➖
♦️ﺍﮔﺮ ﻓﺎﯾﻞ ﺭﻭ ﺩﺭ ﺭﯾﺸﻪ ﺍﺻﻠﯽ ﻫﺎﺳﺖ ﻗﺮﺍﺭ ﺩﺍﺩﯾﺪ ﻭ ﺍﮔﺮ ﺍﺳﻤﺶ ﻫﻢ ﻫﻤﻮﻧﻪ ﮐﻪ ﺩﺭ ﺑﺎﻻ ﮔﻔﺘﯿﻢ ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺑﻪ ﺻﻔﺤﻪ ﺍﺵ ﺩﺳﺘﺮﺳﯽ ﭘﯿﺪﺍ ﻣﯿﮑﻨﯿﺪ
http://www.your-site-name.com/upload.php
♦️ﺩﺭ قسمت ﺍﻭﻝ ﺁﺩﺭﺱ ﮐﺎﻣﻞ ﻓﺎﯾﻠﺘﻮﻥ ﺭﻭ ﻭﺍﺭﺩ ﮐﻨﯿﺪ
ﻣﺜﻼ :
http://site-name.com/file-name.zip
ﻭ ﺩﺭ قسمت ﺩﻭﻡ ﻧﺎﻣﯽ ﮐﻪ ﻓﺎﯾﻞ ﺑﺎﻫﺎﺵ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎﯾﺪ ﺳﯿﻮ ﺑﺸﻪ ﺭﻭ ﻭﺍﺭﺩ ﻣﯿﮑﻨﯿﺪ؛
♦️ﺍﮔﺮ ﺩﻭﺳﺖ ﺩﺍﺷﺘﯿﺪ ﺑﺎ ﻫﻤﻮﻥ ﺍﺳﻢ ﻣﺜﻼ file-name.zip ﯾﺎ ﺍﮔﺮ ﺧﻮﺍﺳﺘﯿﺪ ﺑﺎ ﻫﺮ ﺍﺳﻢ ﺩﯾﮕﻪ ﺍﯼ؛
♦️ﻓﻘﻂ ﯾﺎﺩﺗﻮﻥ ﻧﺮﻩ ﮐﻪ ﭘﺴﻮﻧﺪﺵ ﺭﻭ ﺩﺭﺳﺖ ﻭﺍﺭﺩ ﮐﻨﯿﺪ ﮐﻪ ﻭﻗﺖ ﺍﺟﺮﺍ ﺑﻪ ﻣﺸﮑﻞ ﺑﺮ ﻧﺨﻮﺭﯾﺪ
♦️ﻧﮑﺘﻪ ۱ :
ﺍﺯ ﺍﯾﻦ ﻓﺎﯾﻞ ﻓﻘﻂ ﺩﺭ ﻣﻮﺍﻗﻊ ﺿﺮﻭﺭﯼ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ؛ چون همونطور ﮐﻪ ﺷﻤﺎ ﻣﯿﺘﻮﻧﯿﺪ ﻓﺎﯾﻞ آﭘﻠﻮﺩ ﮐﻨﯿﺪ ﯾﻪ ﻫﮑﺮ ﻫﻢ ﻣﯿﺘﻮﻧﻪ ﻓﺎﯾﻞ ﺁﭘﻠﻮﺩ ﮐﻨﻪ؛ ﭘﺲ ﺍﮔﺮ ﻧﯿﺎﺯﯼ ﺑﻬﺶ ﻧﺪﺍﺭﯾﺪ ﺣﺘﻤﺎ ﺯﯾﭗ ﯾﺎ ﺣﺬﻓﺶ ﮐﻨﯿﺪ
♦️ﻧﮑﺘﻪ ۲ :
ﺍﮔﺮ ﻣﯿﺨﻮﺍﯾﺪ ﺍﺯ ﺳﺎﯾﺖ ﻫﺎﯼ ﺭﺍﯾﮕﺎﻥ ﻣﺜﻞ ﻓﻮﺭﺷﯿﺮﺩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ ﯾﺎﺩﺗﻮﻥ ﺑﺎﺷﻪ ﮐﻪ ﻟﯿﻨﮏ ﻓﺎﯾﻞ ﺭﻭ ﺑﺎﯾﺪ ﺑﺪﯾﺪ ﻧﻪ ﻟﯿﻨﮏ ﺻﻔﺤﻪ ﺭﻭ
♦️ﻧﮑﺘﻪ ۳ :
ﻓﺎﯾﻞ ﺩﺭ ﻫﻤﻮﻥ ﺟﺎﯾﯽ ﺳﯿﻮ ﻣﯿﺸﻪ ﮐﻪ ﺍﺳﮑﺮﯾﭙﺖ ( ﺍﯾﻦ ﮐﺪ ) ﻫﺴﺖ؛ ﺍﮔﺮ ﺩﺭ ﺭﯾﺸﻪ ﻫﺴﺖ ﻓﺎﯾﻞ ﻫﻢ ﻫﻤﻮﻧﺠﺎ ذخیره ﻣﯿﺸﻪ.
➖➖➖➖➖➖➖➖
♦️امیدوارم که از این آموزش لذت برده باشید
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@BotSorce
➖➖➖➖➖➖➖➖
♦️ﺷﺎﯾﺪ ﺑﺮﺍﯼ ﺷﻤﺎ ﻫﻢ ﺍﺗﻔﺎﻕ ﺍﻓﺘﺎﺩﻩ ﺑﺎﺷﻪ ﮐﻪ ﺑﻪ ﻫﺮ ﺩﻟﯿﻠﯽ ﻧﯿﺎﺯ ﺩﺍﺷﺘﻪ ﺑﺎﺷﯿﺪ ﻓﺎﯾﻠﯽ ﺭﻭ ﺍﺯ ﺭﻭﯼ ﻫﺎﺳﺘﯽ ﮐﭙﯽ ﮐﻨﯿﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ؛
♦️ﯾﺎ ﺍﺯ ﻫﺎﺳﺘﯽ ﺩﺭ ﺣﺎﻝ ﺩﺍﻧﻠﻮﺩﯾﺪ ﺳﺮﻋﺘﺶ ﺑﺴﯿﺎﺭ ﭘﺎﯾﯿﻨﻪ ﻓﺎﯾﻞ ﺭﻭ ﺑﺮﯾﺰﯾﺪ ﺭﻭﯼ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ﻭ ﺑﺎ ﺳﺮﻋﺖ ﺧﻮﺏ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ؛
♦️ﯾﺎ ﺑﺮﺍﯼ ﻧﺼﺐ ﻧﺮﻡ ﺍﻓﺰﺍﺭﯼ ﻣﺜﻞ ﻭﺭﺩﭘﺮﺱ ﻭ ﺟﻮﻣﻼ ( ﮐﻪ ﺍﻭﻝ ﺑﺎﯾﺪ ﻓﺎﯾﻞ ﺭﻭ ﺩﺍﻧﻠﻮﺩ ﮐﻨﯿﺪ ﻭ ﺩﻭﺑﺎﺭﻩ ﺁﭘﻠﻮﺩ ﮐﻨﯿﺪ ) ﺍﯾﻦ ﺭﻭﺵ ، ﺭﻭﺷﯽ ﺑﯽ ﺩﺭﺩﺳﺮ ﻭ ﻣﻨﺎﺳﺒﻪ ﻭ ﻧﯿﺎﺯ ﺑﻪ ﺍﻧﺠﺎﻡ ﻫﯿﭽﮑﺪﻭﻡ ﺍﺯ ﺍﯾﻦ ﮐﺎﺭ ﻫﺎ ﻧﯿﺴﺖ ﻭ ﺍﺯ ﻫﻤﻪ ﻣﻬﻤﺘﺮ؛
♦️ﺳﺎﯾﺖ ﻫﺎﯼ ﺩﺍﻧﻠﻮﺩ ﻣﺜﻞ ﺭﭘﯿﺪﺷﯿﺮ ﻭ ﻓﻮﺭﺷﯿﺮ ﻭﻗﺖ ﺩﺍﻧﻠﻮﺩ ﺑﺮﺍﺗﻮﻥ ﻧﺎﺯ ﻣﯿﮑﻨﻦ ؟ ﺳﺮﻋﺖ ﺩﺍﻧﻠﻮﺩﺗﻮﻥ ﺭﻭ ﻣﺤﺪﻭﺩ ﻣﯿﮑﻨﻦ ؟ ﻓﺎﯾﻞ ﺭﻭ ﺍﻧﺘﻘﺎﻝ ﺑﺪﯾﺪ ﺑﻪ ﻫﺎﺳﺖ ﺧﻮﺩﺗﻮﻥ ، بعد ﺑﺎﺳﺮﻋﺖ ﻭﺍﻗﻌﯽ ﺩﺍﻧﻠﻮﺩﺵ ﮐﻨﯿﺪ
♦️ﺭﻭﺵ ﮐﺎﺭ
♦️ﯾﻪ ﻓﺎﯾﻞ ﺧﺎﻟﯽ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎ ﭘﺴﻮﻧﺪ ﭘﯽ ﺍﭺ ﭘﯽ ﺑﺴﺎﺯﯾﺪ
ﻣﺜﻼ : upload.php
♦️ﮐﺪ ﺯﯾﺮ ﺭﻭ ﺩﺍﺧﻠﺶ ﻗﺮﺍﺭ ﺑﺪﯾﺪ ﻭ ﻓﺎﯾﻞ ﺭﻭ ﺳﯿﻮ ﮐﻨﯿﺪ
➖➖➖➖➖➖➖➖
<?php
if ($_GET[xfer]) {
if ($_POST[from] == "") {
print "You forgot to enter a url.";
} else {
copy("$_POST[from]", "$_POST[to]");
$size = round((filesize($_POST[to])/1000000), 3);
print "transfer complete.<br>
<a><a href="$_POST[from]">$_POST[from]</a><br>
<a><a href="$_POST[to]">$_POST[to]</a> : $size MB";
}
} else {
print "<form action="$PHP_SELF?xfer=true" method=post>
from(http://): <input name=from><br>
to(filename): <input name=to><br>
<input type=submit value="transload">";
}
?>➖➖➖➖➖➖➖➖
♦️ﺍﮔﺮ ﻓﺎﯾﻞ ﺭﻭ ﺩﺭ ﺭﯾﺸﻪ ﺍﺻﻠﯽ ﻫﺎﺳﺖ ﻗﺮﺍﺭ ﺩﺍﺩﯾﺪ ﻭ ﺍﮔﺮ ﺍﺳﻤﺶ ﻫﻢ ﻫﻤﻮﻧﻪ ﮐﻪ ﺩﺭ ﺑﺎﻻ ﮔﻔﺘﯿﻢ ﺑﻪ ﺍﯾﻦ ﺻﻮﺭﺕ ﺑﻪ ﺻﻔﺤﻪ ﺍﺵ ﺩﺳﺘﺮﺳﯽ ﭘﯿﺪﺍ ﻣﯿﮑﻨﯿﺪ
http://www.your-site-name.com/upload.php
♦️ﺩﺭ قسمت ﺍﻭﻝ ﺁﺩﺭﺱ ﮐﺎﻣﻞ ﻓﺎﯾﻠﺘﻮﻥ ﺭﻭ ﻭﺍﺭﺩ ﮐﻨﯿﺪ
ﻣﺜﻼ :
http://site-name.com/file-name.zip
ﻭ ﺩﺭ قسمت ﺩﻭﻡ ﻧﺎﻣﯽ ﮐﻪ ﻓﺎﯾﻞ ﺑﺎﻫﺎﺵ ﺩﺭ ﻫﺎﺳﺘﺘﻮﻥ ﺑﺎﯾﺪ ﺳﯿﻮ ﺑﺸﻪ ﺭﻭ ﻭﺍﺭﺩ ﻣﯿﮑﻨﯿﺪ؛
♦️ﺍﮔﺮ ﺩﻭﺳﺖ ﺩﺍﺷﺘﯿﺪ ﺑﺎ ﻫﻤﻮﻥ ﺍﺳﻢ ﻣﺜﻼ file-name.zip ﯾﺎ ﺍﮔﺮ ﺧﻮﺍﺳﺘﯿﺪ ﺑﺎ ﻫﺮ ﺍﺳﻢ ﺩﯾﮕﻪ ﺍﯼ؛
♦️ﻓﻘﻂ ﯾﺎﺩﺗﻮﻥ ﻧﺮﻩ ﮐﻪ ﭘﺴﻮﻧﺪﺵ ﺭﻭ ﺩﺭﺳﺖ ﻭﺍﺭﺩ ﮐﻨﯿﺪ ﮐﻪ ﻭﻗﺖ ﺍﺟﺮﺍ ﺑﻪ ﻣﺸﮑﻞ ﺑﺮ ﻧﺨﻮﺭﯾﺪ
♦️ﻧﮑﺘﻪ ۱ :
ﺍﺯ ﺍﯾﻦ ﻓﺎﯾﻞ ﻓﻘﻂ ﺩﺭ ﻣﻮﺍﻗﻊ ﺿﺮﻭﺭﯼ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ؛ چون همونطور ﮐﻪ ﺷﻤﺎ ﻣﯿﺘﻮﻧﯿﺪ ﻓﺎﯾﻞ آﭘﻠﻮﺩ ﮐﻨﯿﺪ ﯾﻪ ﻫﮑﺮ ﻫﻢ ﻣﯿﺘﻮﻧﻪ ﻓﺎﯾﻞ ﺁﭘﻠﻮﺩ ﮐﻨﻪ؛ ﭘﺲ ﺍﮔﺮ ﻧﯿﺎﺯﯼ ﺑﻬﺶ ﻧﺪﺍﺭﯾﺪ ﺣﺘﻤﺎ ﺯﯾﭗ ﯾﺎ ﺣﺬﻓﺶ ﮐﻨﯿﺪ
♦️ﻧﮑﺘﻪ ۲ :
ﺍﮔﺮ ﻣﯿﺨﻮﺍﯾﺪ ﺍﺯ ﺳﺎﯾﺖ ﻫﺎﯼ ﺭﺍﯾﮕﺎﻥ ﻣﺜﻞ ﻓﻮﺭﺷﯿﺮﺩ ﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﯿﺪ ﯾﺎﺩﺗﻮﻥ ﺑﺎﺷﻪ ﮐﻪ ﻟﯿﻨﮏ ﻓﺎﯾﻞ ﺭﻭ ﺑﺎﯾﺪ ﺑﺪﯾﺪ ﻧﻪ ﻟﯿﻨﮏ ﺻﻔﺤﻪ ﺭﻭ
♦️ﻧﮑﺘﻪ ۳ :
ﻓﺎﯾﻞ ﺩﺭ ﻫﻤﻮﻥ ﺟﺎﯾﯽ ﺳﯿﻮ ﻣﯿﺸﻪ ﮐﻪ ﺍﺳﮑﺮﯾﭙﺖ ( ﺍﯾﻦ ﮐﺪ ) ﻫﺴﺖ؛ ﺍﮔﺮ ﺩﺭ ﺭﯾﺸﻪ ﻫﺴﺖ ﻓﺎﯾﻞ ﻫﻢ ﻫﻤﻮﻧﺠﺎ ذخیره ﻣﯿﺸﻪ.
➖➖➖➖➖➖➖➖
♦️امیدوارم که از این آموزش لذت برده باشید
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@BotSorce
♦️توابع ﮐﺎﺭ ﺑﺎ آﺭﺍﻳﻪ ﻫﺎ
ﺍﻳﻦ ﺗﺎﺑﻊ ﻳﮏ ﻣﺘﻐﻴﺮ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﺑﺮرسی ﻣﻴﮑﻨﺪ ﮐﻪ آﻳﺎ ﻣﺘﻐﻴﺮ ﻳﮏ آﺭﺍﻳﻪ ﻫﺴﺖ ﻳﺎ ﻧﻪ
is_array ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﻳﮏ ﺍﺭﺍﻳﻪ ﺭﺍ ﺩﺭﻳﺎﻓﺖ ﻣﻨﻤﺎﻳﺪ ﻭ ﮐﻠﻴﺪ ﻭﻣﻘﺪﺍﺭ ﻋﻨﺼﺮ ﺟﺎﺭﻱ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
each();
➖➖➖➖➖➖➖➖
♦️ﺗﻌﺪﺍﺩی متغیر ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ آﻧﻬﺎ ﺍﺧﺘﺼﺎﺹ ﻣﻴﺪﻫﺪ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻨﻬﺎ ﺑﺎ آﺭﺍﻳﻪ ﻫﺎی ﺍﻳﻨﺪﮐﺲ ﺩﺍﺭ ﮐﺎﺭ ﻣﻴﮑﻨﺪ
list();
ﻣﺜﺎﻝ :
$arr = array (a, b,c,c );
list( $a,$b ,$c) = $arr ;
echo $b; / /outpu b
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻣﮑﺎﻥ ﭘﻴﻤﺎﻳﺶ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻴﮑﻨﺪ ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻥ ﺩﻳﮕﺮ ﻧﻴﺎﺯی ﺑﻪ ﺣﻠﻘﻪ ﻧﻴﺴﺖ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ . اولی ﻧﺎﻡ ﺍﺭﺍﻳﻪ ﻭﺩﻭمی ﻧﺎﻡ ﻳﮏ ﺗﺎﺑﻊ ﮐﻪ ﺑﻮﺳﻴﻠﻪ ﺍﻥ ﻋﻤﻞ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺑﺮ ﺭﻭی ﻋﻨﺎﺻﺮ ﺍﻧﺠﺎﻡ ﺩﻫﺪ
array _walk ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎ ﺭﺍ ﺑﺮ ﻋﻬﺪﻩ ﺩﺍﺭﺩ
ﺩﺭ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﺍﻭﻝ ﺍﻋﺪﺍﺩ ﺑﻌﺪ ﻋﻼﻣﺘﻬﺎ ﻭﺩﺭ آﺧﺮ ﺣﺮﻭﻑ ﺭﺍ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ﺑﻌﺪ ﺍﺯ ﺗﺮﺗﻴﺐ ﻋﻨﺎﺻﺮ ﺍﻳﻨﺪﮐﺲ ﺟﺪﻳﺪ ﻣﻴﮕﻴﺮﻧﺪ
sort();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺮﺍی ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎی انجمنی ﺑﮑﺎﺭ ﻣﻴﺮﻭﺩ ﻭ ﺭﻭﺵ ﮐﺎﺭ ﺍﻭ ﻣﺎﻧﻨﺪ ﺗﺎﺑﻊ قبلی ﺍﺳﺖ
ﺩﺭ ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻳﻨﺪﮐﺲ های آﺭﺍﻳﻪ ﺗﻐﻴﻴﺮ ﻧﻤﻴﮑﻨﺪ
asort ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ آﺭﺍﻳﻪ های انجمنی ﺭﺍ ﺑﺮ ﺍﺳﺎﺱ ﮐﻠﻴﺪهای ﺍﻥ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ksort ();
➖➖➖➖➖➖➖➖
ﺍﻳﻦ ﺗﺎﺑﻊ ﮐﻠﻴﺪﻫﺎ ﻳﺎ ﺍﻧﺪﮐﺲ های ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻭﺟﻮﺩ ﮐﻠﻴﺪ ﻣﻮﺭﺩ ﻧﻈﺮ بررسی ﻣﻴﮑﻨﺪ.ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻧﺎﻡ ﮐﻠﻴﺪ ﻭ ﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _key_ exists ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻣﻘﺪﺍﺭ خاصی ﺟﺴﺘﺠﻮ ﻣﻴﮑﻨﺪ ﻭﺩﺭ ﺻﻮﺭﺕ ﭘﻴﺪﺍ ﮐﺮﺩﻥ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ , ﮐﻠﻴﺪ آنرا ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ ﻭﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _search ();
➖➖➖➖➖➖➖➖
ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﮐﻠﻴﺪﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _keys ();
➖➖➖➖➖➖➖➖
ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﻣﻘﺪﺍﺭﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _values ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮ ﻣﻮﺟﻮﺩ ﺩﺭ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
count ();
➖➖➖➖➖➖➖➖
ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﺧﺘﺎﺭﻫﺎی ﺗﮑﺮﺍﺭ ﺟﻬﺖ ﭘﺮﺩﺍﺭﺵ ﻋﻨﺎﺻﺮ آﺭاﻳﻪ
foreach ();
ﻣﺜﺎﻝ :
$arr= array (a,b, c,c);
foreach ($arr as $val );
echo $val;
➖➖➖➖➖➖➖➖
♦️ﺗﺮﮐﻴﺐ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺑﺎ ﻫﻢ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﻫﺎی ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺍﺳﺖ
array _merge ();
➖➖➖➖➖➖➖➖
♦️ﺍﺿﺎﻓﻪ ﮐﺮﺩﻥ ﻳﮏ ﻳﺎ ﭼﻨﺪ ﻣﻘﺪﺍﺭ ﺑﻪ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﺍﻭﻝ ﺍﻥ ﻧﺎﻡ ﻳﮏ ﺍﺭﺍﻳﻪ ﻭ ﺍﺭﮔﻮﻣﺎﻧﻬﺎی ﺑﻌﺪی ﺑﻪ ﻫﺮ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮی ﺭﺍ ﻣﺸﺨﺺ ﻣﻴﮑﻨﺪ ﮐﻪ ﺑﺎﻳﺪ ﺍﺿﺎﻓﻪ ﺷﻮﻧﺪ
array _push ();
➖➖➖➖➖➖➖➖
♦️ﺑﺎ ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﻴﺘﻮﺍﻥ ﺍﻭﻟﻴﻦ ﻋﻨﺼﺮ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺣﺬﻑ ﮐﺮﺩ
array _shift ();
➖➖➖➖➖➖➖➖
♦️ﺑﺎﺯﻳﺎبی بخشی ﺍﺯ ﻳﮏ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ.ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺿﺮﻭﺭی ﻭ ﻳﮏ ﺍﺭگوﻣﺎﻥ ﺍﺧﺘﻴﺎﺭی ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ
ﺍﺭﮔﻮﻣﺎﻧﻬﺎ ﺑﺘﺮﺗﻴﺐ ﻧﺎﻡ آﺭﺍﻳﻪ , ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﻭﻃﻮﻝ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮ.ﮐﻪ ﺍﮔﺮ ﺍﺭﮔﻮﻣﻨﺖ ﺳﻮمی ﻣﺸﺨﺺ ﻧﺸﻮﺩ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮﺍﺯ ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﺗﺎ ﺍﻧﺘﻬﺎی آﺭﺍﻳﻪ ﻓﺮﺽ ﻣﻴﺸﻮﺩ
array _slice ();
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@BotSorce
ﺍﻳﻦ ﺗﺎﺑﻊ ﻳﮏ ﻣﺘﻐﻴﺮ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﺑﺮرسی ﻣﻴﮑﻨﺪ ﮐﻪ آﻳﺎ ﻣﺘﻐﻴﺮ ﻳﮏ آﺭﺍﻳﻪ ﻫﺴﺖ ﻳﺎ ﻧﻪ
is_array ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﻳﮏ ﺍﺭﺍﻳﻪ ﺭﺍ ﺩﺭﻳﺎﻓﺖ ﻣﻨﻤﺎﻳﺪ ﻭ ﮐﻠﻴﺪ ﻭﻣﻘﺪﺍﺭ ﻋﻨﺼﺮ ﺟﺎﺭﻱ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
each();
➖➖➖➖➖➖➖➖
♦️ﺗﻌﺪﺍﺩی متغیر ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ ﻭ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ آﻧﻬﺎ ﺍﺧﺘﺼﺎﺹ ﻣﻴﺪﻫﺪ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻨﻬﺎ ﺑﺎ آﺭﺍﻳﻪ ﻫﺎی ﺍﻳﻨﺪﮐﺲ ﺩﺍﺭ ﮐﺎﺭ ﻣﻴﮑﻨﺪ
list();
ﻣﺜﺎﻝ :
$arr = array (a, b,c,c );
list( $a,$b ,$c) = $arr ;
echo $b; / /outpu b
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻣﮑﺎﻥ ﭘﻴﻤﺎﻳﺶ ﻋﻨﺎﺻﺮ آﺭﺍﻳﻪ ﺭﺍ ﻓﺮﺍﻫﻢ ﻣﻴﮑﻨﺪ ﻭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻥ ﺩﻳﮕﺮ ﻧﻴﺎﺯی ﺑﻪ ﺣﻠﻘﻪ ﻧﻴﺴﺖ
ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ . اولی ﻧﺎﻡ ﺍﺭﺍﻳﻪ ﻭﺩﻭمی ﻧﺎﻡ ﻳﮏ ﺗﺎﺑﻊ ﮐﻪ ﺑﻮﺳﻴﻠﻪ ﺍﻥ ﻋﻤﻞ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺑﺮ ﺭﻭی ﻋﻨﺎﺻﺮ ﺍﻧﺠﺎﻡ ﺩﻫﺪ
array _walk ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎ ﺭﺍ ﺑﺮ ﻋﻬﺪﻩ ﺩﺍﺭﺩ
ﺩﺭ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﺍﻭﻝ ﺍﻋﺪﺍﺩ ﺑﻌﺪ ﻋﻼﻣﺘﻬﺎ ﻭﺩﺭ آﺧﺮ ﺣﺮﻭﻑ ﺭﺍ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ﺑﻌﺪ ﺍﺯ ﺗﺮﺗﻴﺐ ﻋﻨﺎﺻﺮ ﺍﻳﻨﺪﮐﺲ ﺟﺪﻳﺪ ﻣﻴﮕﻴﺮﻧﺪ
sort();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺮﺍی ﻣﺮﺗﺐ ﮐﺮﺩﻥ آﺭﺍﻳﻪ ﻫﺎی انجمنی ﺑﮑﺎﺭ ﻣﻴﺮﻭﺩ ﻭ ﺭﻭﺵ ﮐﺎﺭ ﺍﻭ ﻣﺎﻧﻨﺪ ﺗﺎﺑﻊ قبلی ﺍﺳﺖ
ﺩﺭ ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﻳﻨﺪﮐﺲ های آﺭﺍﻳﻪ ﺗﻐﻴﻴﺮ ﻧﻤﻴﮑﻨﺪ
asort ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ آﺭﺍﻳﻪ های انجمنی ﺭﺍ ﺑﺮ ﺍﺳﺎﺱ ﮐﻠﻴﺪهای ﺍﻥ ﻣﺮﺗﺐ ﻣﻴﮑﻨﺪ
ksort ();
➖➖➖➖➖➖➖➖
ﺍﻳﻦ ﺗﺎﺑﻊ ﮐﻠﻴﺪﻫﺎ ﻳﺎ ﺍﻧﺪﮐﺲ های ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻭﺟﻮﺩ ﮐﻠﻴﺪ ﻣﻮﺭﺩ ﻧﻈﺮ بررسی ﻣﻴﮑﻨﺪ.ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻧﺎﻡ ﮐﻠﻴﺪ ﻭ ﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _key_ exists ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺍﺭﺍﻳﻪ ﺭﺍ برای ﻣﻘﺪﺍﺭ خاصی ﺟﺴﺘﺠﻮ ﻣﻴﮑﻨﺪ ﻭﺩﺭ ﺻﻮﺭﺕ ﭘﻴﺪﺍ ﮐﺮﺩﻥ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ , ﮐﻠﻴﺪ آنرا ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
ﺩﻭ ﺍﺭﮔﻮﻣﻨﺖ ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﻘﺪﺍﺭ ﻣﻮﺭﺩ ﻧﻈﺮ ﻭﻧﺎﻡ آﺭﺍﻳﻪ ﺍﺳﺖ
array _search ();
➖➖➖➖➖➖➖➖
ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﮐﻠﻴﺪﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _keys ();
➖➖➖➖➖➖➖➖
ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﺭﮔﻮﻣﺎﻥ ﺩﺭﻳﺎﻓﺖ ﻭﻣﻘﺪﺍﺭﻫﺎی آﻧﺮﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
array _values ();
➖➖➖➖➖➖➖➖
♦️ﺍﻳﻦ ﺗﺎﺑﻊ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮ ﻣﻮﺟﻮﺩ ﺩﺭ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺑﺮﻣﻴﮕﺮﺩﺍﻧﺪ
count ();
➖➖➖➖➖➖➖➖
ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﺎﺧﺘﺎﺭﻫﺎی ﺗﮑﺮﺍﺭ ﺟﻬﺖ ﭘﺮﺩﺍﺭﺵ ﻋﻨﺎﺻﺮ آﺭاﻳﻪ
foreach ();
ﻣﺜﺎﻝ :
$arr= array (a,b, c,c);
foreach ($arr as $val );
echo $val;
➖➖➖➖➖➖➖➖
♦️ﺗﺮﮐﻴﺐ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺑﺎ ﻫﻢ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﻫﺎی ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﻳﺎ ﭼﻨﺪ آﺭﺍﻳﻪ ﺍﺳﺖ
array _merge ();
➖➖➖➖➖➖➖➖
♦️ﺍﺿﺎﻓﻪ ﮐﺮﺩﻥ ﻳﮏ ﻳﺎ ﭼﻨﺪ ﻣﻘﺪﺍﺭ ﺑﻪ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ
ﺍﺭﮔﻮﻣﺎﻥ ﺍﻭﻝ ﺍﻥ ﻧﺎﻡ ﻳﮏ ﺍﺭﺍﻳﻪ ﻭ ﺍﺭﮔﻮﻣﺎﻧﻬﺎی ﺑﻌﺪی ﺑﻪ ﻫﺮ ﺗﻌﺪﺍﺩ ﻋﻨﺎﺻﺮی ﺭﺍ ﻣﺸﺨﺺ ﻣﻴﮑﻨﺪ ﮐﻪ ﺑﺎﻳﺪ ﺍﺿﺎﻓﻪ ﺷﻮﻧﺪ
array _push ();
➖➖➖➖➖➖➖➖
♦️ﺑﺎ ﺍﻳﻦ ﺗﺎﺑﻊ ﻣﻴﺘﻮﺍﻥ ﺍﻭﻟﻴﻦ ﻋﻨﺼﺮ ﻳﮏ آﺭﺍﻳﻪ ﺭﺍ ﺣﺬﻑ ﮐﺮﺩ
array _shift ();
➖➖➖➖➖➖➖➖
♦️ﺑﺎﺯﻳﺎبی بخشی ﺍﺯ ﻳﮏ آﺭﺍﻳﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺯﻳﺮ.ﺍﻳﻦ ﺗﺎﺑﻊ ﺩﻭ ﺍﺭﮔﻮﻣﺎﻥ ﺿﺮﻭﺭی ﻭ ﻳﮏ ﺍﺭگوﻣﺎﻥ ﺍﺧﺘﻴﺎﺭی ﺩﺭﻳﺎﻓﺖ ﻣﻴﮑﻨﺪ
ﺍﺭﮔﻮﻣﺎﻧﻬﺎ ﺑﺘﺮﺗﻴﺐ ﻧﺎﻡ آﺭﺍﻳﻪ , ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﻭﻃﻮﻝ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮ.ﮐﻪ ﺍﮔﺮ ﺍﺭﮔﻮﻣﻨﺖ ﺳﻮمی ﻣﺸﺨﺺ ﻧﺸﻮﺩ ﺑﺨﺶ ﻣﻮﺭﺩ ﻧﻈﺮﺍﺯ ﻣﻮﻗﻌﻴﺖ ﺷﺮﻭﻉ ﺗﺎ ﺍﻧﺘﻬﺎی آﺭﺍﻳﻪ ﻓﺮﺽ ﻣﻴﺸﻮﺩ
array _slice ();
➖➖➖➖➖➖➖➖
#آموزش
#درخواستی
@BotSorce
♦️ﺩﺭ ﺍﯾﻦ ﭘﺴﺖ ﻗﺼﺪ ﺩﺍﺭﻡ ﭼﻨﺪ ﺳﺮﻭﺭ ﺭﺍﯾﮕﺎﻥ ﺑﺮﺍﯼ ﺭﺍﻥ ﮐﺮﺩﻥ ﺭﺑﺎﺕ ﻫﺎﯼ ﺗﻠﮕﺮﺍﻡ ﻣﻌﺮﻓﯽ ﮐﻨﻢ
♦️ﺍﯾﻦ ﺳﺮﻭﺭ ﻫﺎ ﭘﺎﯾﺪﺍﺭﯼ ﺯﯾﺎﺩﯼ ﻧﺪﺍﺭﻧﺪ ﻭ ﺣﺪﺍﮐﺜﺮ 2 ﺳﺎﻋﺖ ﺁﻧﻼﯾﻦ ﻫﺴﺘﻨﺪ
ﻭ ﺍﮐﺜﺮﺍ ﺑﺮﺍﯼ ﺗﺴﺖ ﺳﻮﺭﺱ ﯾﺎ ﺭﺑﺎﺕ ﺍﺯ ﺍﯾﻨﮕﻮﻧﻪ ﺳﺮﻭﺭﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯿﮑﻨﻨﺪ
➖➖➖➖➖➖➖➖
♦️ﻣﻌﺮﻓﯽ ﺳﺎﯾﺖ ﻫﺎﯼ ﺍﺭﺍﺋﻪ ﺩﻫﻨﺪﻩ ﺳﺮﻭﺭ ﺭﺍﯾﮕﺎﻥ :
➖➖➖➖➖➖➖➖
#1
codeny
https://codenvy.com/
➖➖➖➖➖➖➖➖
#2
codeanywhere
https://codeanywhere.com/
➖➖➖➖➖➖➖➖
3#
cloud9
https://c9.io
➖➖➖➖➖➖➖➖
#4
koding
https://www.koding.com/
➖➖➖➖➖➖➖➖
#5
sourcelair
https://www.sourcelair.com/trial-expired
➖➖➖➖➖➖➖➖
6#
nitrous
https://www.nitrous.io
➖➖➖➖➖➖➖➖
@Botsorce
♦️ﺍﯾﻦ ﺳﺮﻭﺭ ﻫﺎ ﭘﺎﯾﺪﺍﺭﯼ ﺯﯾﺎﺩﯼ ﻧﺪﺍﺭﻧﺪ ﻭ ﺣﺪﺍﮐﺜﺮ 2 ﺳﺎﻋﺖ ﺁﻧﻼﯾﻦ ﻫﺴﺘﻨﺪ
ﻭ ﺍﮐﺜﺮﺍ ﺑﺮﺍﯼ ﺗﺴﺖ ﺳﻮﺭﺱ ﯾﺎ ﺭﺑﺎﺕ ﺍﺯ ﺍﯾﻨﮕﻮﻧﻪ ﺳﺮﻭﺭﻫﺎ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯿﮑﻨﻨﺪ
➖➖➖➖➖➖➖➖
♦️ﻣﻌﺮﻓﯽ ﺳﺎﯾﺖ ﻫﺎﯼ ﺍﺭﺍﺋﻪ ﺩﻫﻨﺪﻩ ﺳﺮﻭﺭ ﺭﺍﯾﮕﺎﻥ :
➖➖➖➖➖➖➖➖
#1
codeny
https://codenvy.com/
➖➖➖➖➖➖➖➖
#2
codeanywhere
https://codeanywhere.com/
➖➖➖➖➖➖➖➖
3#
cloud9
https://c9.io
➖➖➖➖➖➖➖➖
#4
koding
https://www.koding.com/
➖➖➖➖➖➖➖➖
#5
sourcelair
https://www.sourcelair.com/trial-expired
➖➖➖➖➖➖➖➖
6#
nitrous
https://www.nitrous.io
➖➖➖➖➖➖➖➖
@Botsorce
Red Hat Developer
Developer Tools for Cloud Development | Red Hat Developer
Development using Kubernetes means all new processes and skills. Find the tools you need to build in the cloud
♦️اضافه شدن امکان https رایگان و خودکار در cPanel
➖➖➖➖➖➖➖➖➖
♦️در نگارش ۶۰ پنل cPanel که به تازگی منتشر شده است ویژگی مهم و بزرگی افزوده شده است. این ویژگی که به گفته توسعهدهندگان cPanel مدت زیادی برای طراحی و برنامهنویسی آن صرف شده است، AutoSSL نام دارد.

♦️AutoSSL
چیست ؟
♦️پشتیبانی از پروتکل امن https برای رمزگزاری ارتباط میان بازدیدکنندگان سایت و سرور خدمترسان طراحی و اجرا شده است. خرید گواهی امنیتی و نصب و فعالسازی آن روی دامنههای مختلف علاوه بر نیاز به تخصص، به انجام تنظیمات و مراحل مختلفی نیز نیازمند است. همچنین در زمان تمدید سالیانه گواهی امنیتی نیز انجام فرآیندهای خاصی مورد نیاز است.
♦️AutoSSL
انجام تمامی مراحل فوق را بدون نیاز به متخصص امنیتی و کاملا خودکار به انجام میرساند. علاوه بر این پشتیبانی از گواهی امنیتی رایگان Let’s Encryptدر این افزونهی cPanel پیادهسازی شده است. به این معنی که دریافت، نصب و تمدید گواهی امنیتی برای دسترسی به سایت از طریق پروتکل https به رایگان و کاملا خودکار و بدون نیاز به تنظیمات دستی به انجام میرسد.
♦️محدودیتهای AutoSSL چه هستند ؟
♦️این سرویس به دلیل انجام خودکار تمامی فعالیتهای لازم در این بخش، ممکن است در برخی مواقع کارایی مورد نظر برای تعداد محدودی از سایتها را نداشته باشد. برخی از این محدودیتها عبارتند از:
♦️هر حساب کاربری cPanel از ۲۰۰ دامنه برای فعالسازی SSL پشتیبانی میکند. این محدودیت برای سرویس Let’s Encrypt، کمتر از این مقدار و برابر ۱۰۰ دامنه در هر حساب کاربری است.فعالسازی SSL تنها برای دامنههایی که مالکیت آنها از طریق DCV تایید شود قابل فعالسازی خواهد بود.به ازای هر دامنه، به صورت خودکار زیردامنهی www نیز رمزگزاری میشود. این زیردامنه جزء محدودیتهای موجود در بخش قبل به حساب خواهد آمد.
♦️رمزگزاری زیردامنههای Proxy یا Wildcard توسط AutoSSL به انجام نمیرسد.دامنههایی که پیش از این به صورت دستی برایشان گواهی امنیتی ثبت شده باشد، در AutoSSL نادیده گرفته میشوند.سرویس Let’s Encrypt برای هر دامنه و زیرمجموعههای آن حداکثر ۵ گواهی در هفته صادر میکند.
♦️مزایای استفاده از https یا SSL
♦️فعالسازی SSL روی دامنههای سایت سبب ایجاد چند مزیت برای سایت خواهد شد:
♦️جلوگیری از مشاهده و سرقت اطلاعات شخصی کاربران و اطلاعات دریافتی و ارسالی به کاربران توسط شبکههای واسطبهبود رتبه سئو سایتامکان استفاده از برخی ویژگیهای مرورگرهای مدرن مانند مکان جغرافیاییافزایش اعتبار سایت نزد مراجعه کنندگان
♦️فعالسازی AutoSSL روی هاست
♦️این ویژگی به دلیل تازه بودن و ناآشنایی بسیاری از میزبانهای اینترنتی با آن، ممکن است هنوز در تعداد زیادی از میزبانهای اینترنتی در دسترس نباشد، همچنین به دلیل رایگان بودن، ممکن است تهدیدی برای کسب درآمد از طریق واسطهگری فروش گواهی امنیتی به حساب آید. بنابراین پیش از تهیهی هاست با پشتیبانی تماس گرفته و از فعال یا غیرفعال بودن آن اطمینان کسب نمایید
➖➖➖➖➖➖➖➖➖
@Botsorce
➖➖➖➖➖➖➖➖➖
♦️در نگارش ۶۰ پنل cPanel که به تازگی منتشر شده است ویژگی مهم و بزرگی افزوده شده است. این ویژگی که به گفته توسعهدهندگان cPanel مدت زیادی برای طراحی و برنامهنویسی آن صرف شده است، AutoSSL نام دارد.

♦️AutoSSL
چیست ؟
♦️پشتیبانی از پروتکل امن https برای رمزگزاری ارتباط میان بازدیدکنندگان سایت و سرور خدمترسان طراحی و اجرا شده است. خرید گواهی امنیتی و نصب و فعالسازی آن روی دامنههای مختلف علاوه بر نیاز به تخصص، به انجام تنظیمات و مراحل مختلفی نیز نیازمند است. همچنین در زمان تمدید سالیانه گواهی امنیتی نیز انجام فرآیندهای خاصی مورد نیاز است.
♦️AutoSSL
انجام تمامی مراحل فوق را بدون نیاز به متخصص امنیتی و کاملا خودکار به انجام میرساند. علاوه بر این پشتیبانی از گواهی امنیتی رایگان Let’s Encryptدر این افزونهی cPanel پیادهسازی شده است. به این معنی که دریافت، نصب و تمدید گواهی امنیتی برای دسترسی به سایت از طریق پروتکل https به رایگان و کاملا خودکار و بدون نیاز به تنظیمات دستی به انجام میرسد.
♦️محدودیتهای AutoSSL چه هستند ؟
♦️این سرویس به دلیل انجام خودکار تمامی فعالیتهای لازم در این بخش، ممکن است در برخی مواقع کارایی مورد نظر برای تعداد محدودی از سایتها را نداشته باشد. برخی از این محدودیتها عبارتند از:
♦️هر حساب کاربری cPanel از ۲۰۰ دامنه برای فعالسازی SSL پشتیبانی میکند. این محدودیت برای سرویس Let’s Encrypt، کمتر از این مقدار و برابر ۱۰۰ دامنه در هر حساب کاربری است.فعالسازی SSL تنها برای دامنههایی که مالکیت آنها از طریق DCV تایید شود قابل فعالسازی خواهد بود.به ازای هر دامنه، به صورت خودکار زیردامنهی www نیز رمزگزاری میشود. این زیردامنه جزء محدودیتهای موجود در بخش قبل به حساب خواهد آمد.
♦️رمزگزاری زیردامنههای Proxy یا Wildcard توسط AutoSSL به انجام نمیرسد.دامنههایی که پیش از این به صورت دستی برایشان گواهی امنیتی ثبت شده باشد، در AutoSSL نادیده گرفته میشوند.سرویس Let’s Encrypt برای هر دامنه و زیرمجموعههای آن حداکثر ۵ گواهی در هفته صادر میکند.
♦️مزایای استفاده از https یا SSL
♦️فعالسازی SSL روی دامنههای سایت سبب ایجاد چند مزیت برای سایت خواهد شد:
♦️جلوگیری از مشاهده و سرقت اطلاعات شخصی کاربران و اطلاعات دریافتی و ارسالی به کاربران توسط شبکههای واسطبهبود رتبه سئو سایتامکان استفاده از برخی ویژگیهای مرورگرهای مدرن مانند مکان جغرافیاییافزایش اعتبار سایت نزد مراجعه کنندگان
♦️فعالسازی AutoSSL روی هاست
♦️این ویژگی به دلیل تازه بودن و ناآشنایی بسیاری از میزبانهای اینترنتی با آن، ممکن است هنوز در تعداد زیادی از میزبانهای اینترنتی در دسترس نباشد، همچنین به دلیل رایگان بودن، ممکن است تهدیدی برای کسب درآمد از طریق واسطهگری فروش گواهی امنیتی به حساب آید. بنابراین پیش از تهیهی هاست با پشتیبانی تماس گرفته و از فعال یا غیرفعال بودن آن اطمینان کسب نمایید
➖➖➖➖➖➖➖➖➖
@Botsorce
👍2
@BotSorce
➖➖➖➖➖➖➖➖
♦️دانلود سایت w3school بصورت آفلاین برای یادگیری طراحی وبسایت با زبان های مختلف php و html و ...
♦️از زیپ خارجش کنید و روی رم گوشیتون یا هر جایی که فضای خالی به اندازه کافی دارید،بریزید.
♦️بعد از اینکه بطور کامل اکسترکت کردید،میتونید کل سایت w3school رو بصورت آفلاین توی گوشیتون داشته باشید و از آموزشهای فوق العاده این سایت لذت ببرید
♦️گمون نمیکنم چنین فایلی از این سایت،قبل از این تو تلگرام ارسال شده باشه،یا حداقل شخصا ندیدم...اگر دیدید به ما هم خبر بدید....
♦️صرفا جهت اطلاع:
💯منبع یادت نره بچه
➖➖➖➖➖➖➖➖
@BotSorce
https://t.me/joinchat/AAAAAERhZ1wDtKstt8Md_Q
➖➖➖➖➖➖➖➖
♦️دانلود سایت w3school بصورت آفلاین برای یادگیری طراحی وبسایت با زبان های مختلف php و html و ...
♦️از زیپ خارجش کنید و روی رم گوشیتون یا هر جایی که فضای خالی به اندازه کافی دارید،بریزید.
♦️بعد از اینکه بطور کامل اکسترکت کردید،میتونید کل سایت w3school رو بصورت آفلاین توی گوشیتون داشته باشید و از آموزشهای فوق العاده این سایت لذت ببرید
♦️گمون نمیکنم چنین فایلی از این سایت،قبل از این تو تلگرام ارسال شده باشه،یا حداقل شخصا ندیدم...اگر دیدید به ما هم خبر بدید....
♦️صرفا جهت اطلاع:
💯منبع یادت نره بچه
➖➖➖➖➖➖➖➖
@BotSorce
https://t.me/joinchat/AAAAAERhZ1wDtKstt8Md_Q