آموزش PHP – جلسه هفدهم: کار با فایل ها

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

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

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

r: باز کردن و فقط خواندن فایل

w: باز کردن فایل برای نوشتن اطلاعات. محتویات فایل را پاک می‌کند یا اگر فایل وجود نداشته باشد آن را می‌سازد.

a: باز کردن فایل فقط برای نوشتن در آن

x: ایجاد فایل جدید فقط برای نوشتن در آن

+r: باز کردن فایل برای نوشتن/خواندن

+w: باز کردن فایل برای نوشتن/خواندن اطلاعات. محتویات فایل را پاک می‌کند یا اگر فایل وجود نداشته باشد آن را می‌سازد.

+a: باز کردن فایل به منظور نوشتن/خواندن. اگر فایل وجود نداشته باشد آن را ایجاد می‌کند.

+x: ایجاد فایل جدید برای خواندن/نوشتن

مثل همیشه نرم‌افزار Xampp را اجرا و سرور آپاچی و mysql را در حالت اجرا قرار دهید. در پوشه htdocs یک پوشه جدید به نام files ایجاد کرده و در این پوشه یک فایل به نام testfile.php ایجاد کنید. در این فایل کدهای زیر را قرار دهید:

<?php

$myfile = fopen(“file.txt”, “w”);

?>

حالا فایل بالا را با مرورگر اجرا کنید. برای این منظور باید به آدرس http://127.0.0.1/files/testfile.php مراجعه کنید. پس از اجرای این آدرس در مروگر، یک فایل جدید به نام file.txt در پوشه‌ای که فایل testfile.php وجود دارد ساخته خواهد شد.

نوشتن روی فایل‌ها

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

<?php

//open or create file

$myfile = fopen(“names.txt”, “w”);

//now write new names to that file

$name1 = “mojtaba\n”;

fwrite($myfile, $name1);

$name2 = “miaad\n”;

fwrite($myfile, $name2);

$name3 = “masoud\n”;

fwrite($myfile, $name3);

fclose($myfile);

?>

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

نکته دیگری که در مورد کد بالا وجود دارد این است که در انتهای هر نام از کاراکتر n\ استفاده کرده‌ایم. افرادی که با اچ‌تی‌ام‌ال آشنایی داشته باشند قطعا مفهوم این کاراکتر را می‌دانند. از n\ به منظور ایجاد خط جدید در فایل‌ها استفاده می‌کنیم. به این ترتیب در فایل names.txt هر نام در یک خط جدید قرار خواهد گرفت. در نتیجه اگر پس از اجرای کد پی‌اچ‌پی فوق در مرورگر فایل names.txt را باز کنید به شکل زیر خواهد بود:

mojtaba

miaad

masoud

همان‌طور که گفتیم تابع ()fclose به منظور بستن یک فایل مورداستفاده قرار می‌گیرد. این تابع اگر فایل را به درستی و با موفقیت ببندد مقدار true را برمی‌گرداند و در غیر این‌صورت مقدار false برگردانده می‌شود.

نکته کاربردی: برای تمرین و نیز در انجام دادن پروژه‌های خود بهتر از همیشه پس از کار با فایل‌ها آن‌ها را با تابع ()fclose ببندید.

افزودن اطلاعات به فایل

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

<?php

$myFile = “test.txt”;

$fh = fopen($myFile, “a”);

fwrite($fh, “new information to be added test file!”);

fclose($fh);

?>

در کد بالا و در تمامی مواقعی که یک فایل را در حالت a باز کنید، اطلاعات جدید در آخر فایل اضافه خواهند شد. به عنوان مثال فرض کنید محتویات فایلی به نام file.txt به صورت زیر است:

some data

line 2 of file

حال اگر با استفاده از حالت a این فایل را باز کنیم و اطلاعات جدید به آن اضافه کنیم، به عنوان مثال عبارت new data را به این فایل اضافه کنیم، این فایل به صورت زیر به‌روزرسانی خواهد شد:

some data

line 2 of file

new data

حال قصد داریم یک مثال کاربردی‌تر را ایجاد کنیم. در پوشه files که به تازگی در پوشه htdocs ایجاد کرده بودید، یک فایل به نام add.php ایجاد کنید. کد زیر را در این فایل قرار دهید:

<?php

if (isset($_POST[‘text’]))

{

$name = $_POST[‘text’] . “\n”;

$handle = fopen (“names.txt”, “a”);

fwrite($handle, $name);

fclose($handle);

}

?>

<form method=”post” action=””>

name : <input type=”text” name=”text” size=”20″>

<input type=”submit” value=”add name to file”>

</form>

حال کد بالا را با استفاده از آدرس http://127.0.0.1/files/add.php اجرا کنید. در کد بالا چند نکته مهم وجود دارد. ابتدا به بخش پی‌اچ‌پی کاری نداشته باشید و فقط فرم را در نظر بگیرید. در کد بالا خاصیت action فرم را خالی گذاشته‌ایم. در چنین شرایطی اطلاعات این فرم به همین صفحه یعنی فایل add.php ارسال خواهد شد. حال به کد پی‌اچ‌پی در بالای فایل توجه کنید. ابتدا مثل همیشه با یک دستور شرطی if بررسی می‌کنید که اگر اطلاعاتی در فیلدی که خاصیت name آن text است وارد شده، آنگاه فایل names.txt در حالت a باز شود، و سپس نام وارد شده به انتهای محتویات فایل باز شده اضافه خواهد شد. همچنین به خط:

$name = $_POST[‘text’] . “\n”;

در کد بالا توجه کنید. در این خط نام وارد شده توسط کاربر را از فرم دریافت کرده و سپس کاراکتر n\ را به انتهای نام اضافه می‌کنیم تا پس از اضافه شدن در فایل names.txt یک خط جدید ایجاد شود تا نام‌های بعدی به همین شکل در یک خط جدید در فایل درج شوند.

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

دقت کنید که Foreach فقط برای آرایه‌ها مورد استفاده قرار خواهد گرفت و در واقع در هر بار اجرای حلقه کلید و محتوای یک عضو از آرایه را بر می‌گرداند. دو روش کلی برای استفاده از این حلقه وجود دارد که در زیر آورده شده‌اند:

foreach (array as $value){

    //code to run

}

//or

foreach (array as $key => $value){

    //code to run

}

در روش اول، مقدار هر عضو از آرایه موردنظر در هر بار اجرای حلقه در متغیری به نام value$ قرار می‌گیرد و در هر بار اجرای حلقه می‌توان یک عضو ار آرایه را به عنوان مثال چاپ کرد یا عملیات دلخواه را روی آن انجام داد.

اما در روش دوم، کلید هر عضو از آرایه را به key$ تغییر داده‌ایم و سپس مقدار هر عضو آرایه را در متغیر value$ قرار می‌دهیم. اگر مبحث آرایه‌ها را به‌خوبی فراگرفته باشید این حلقه را نیز به‌خوبی یاد می‌گیرید.

در هرحال برای درک بهتر این حلقه به مثال زیر توجه کنید. در این مثال یک آرایه به نام names داریم که شامل چند نام است. قصد داریم با استفاده از حلقه foreach تک تک نام‌های موجود در این آرایه را چاپ کنیم:

<?php

$AllNames = Array(“mojtaba”, “hossein”, “miaad”, “hami”, “masoud”,”mehdi”);

foreach ($AllNames as $name)

{

    echo $name . “<br>”;

}

?>

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

خواندن فایل‌ها

با استفاده از تابع ()file می‌توانیم فایل موردنظرمان را بخوانیم. این تابع فایل موردنظر را در قالب یک آرایه برای ما آماده می‌کند و هر المان از فایل را به عنوان یک عضو از آرایه در نظر می‌گیرد. فایل names.txt که در این جلسه ایجاد کرده‌اید اکنون باید شامل چند نام باشد. در واقع در هر خط از این فایل یک نام نوشته شده است.

حال در پوشه files که در پوشه htdocs ایجاد کرده بودید، یک فایل جدید به نام read.php ایجاد کنید. سپس کد زیر را در این فایل قرار دهید:

<?php

$read = file(“names.txt”);

foreach($read as $name)

{

    echo $name . ” – “;

}

?>

کد بالا تمام نام‌های موجود در فایل names.txt را که در کنار فایل read.php وجود دارد خوانده و آن‌ها را با علامت – از هم جدا می‌کند. از آنجا که در اینجا محتویات فایل در یک آرایه قرار داده شده از foreach استفاده کرده‌ایم، همان‌طور که گفتیم این حلقه فقط برای آرایه‌ها بکار گرفته می‌شود.

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

$read = file(“names.txt”);

$count = count($read);

$i = 1;

foreach ($read as $line)

{
echo $line;

        if($i < $count){

            echo ” – “;

        }

        $i++;

}

?>

در کد بالا ابتدا با تابع count اقدام به شمارش تعداد اعضای آرایه read$ کرده‌ایم. همان‌طور که می‌دانید آرایه یاد شده در واقع دربرگیرنده محتویات فایل names.txt است. سپس با یک حلقه for تمامی اعضای این آرایه را چاپ می‌کنیم و در هر بار اجرای حلقه یک واحد به متغیر i$ اضافه می‌کنیم. این متغیر تعداد خطوط را نگهداری می‌کند. در شرط حلقه بررسی می‌کنیم که آیا به آخرین خط فایل یعنی آخرین عضو آرایه read رسیده‌ایم یا خیر، اگر همچنان به انتهای فایل نرسیده باشیم کاراکتر – در ادامه نام‌ چاپ می‌شود و اگر به آخرین خط فایل رسیده باشیم از آنجا که در حلقه چنین شرطی را نوشته‌ایم، پس شرط برای خط آخر برقرار نیست و کاراکتر – پس از نام چاپ نمی‌شود.

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

منبع: زومیت

۱۰ راه حل مفید برای مدیران در مدیریت زمان

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

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

۱. ضرب‌الاجل‌های کوتاه‌مدت تعریف کنید و به آنها پای‌بند باشید

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

f04e7dd4-4196-4fa4-993d-e72e06e94eb7۲. کارهای مهم را در تقویم اضافه کنید

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

۳. چندوظیفگی را ترک کنید

چندوظیفگی یا Multi-tasking آفت بزرگی برای تمرکز و مدیریت زمان برای همه‌ی افراد است. مدیران که وظایف بیشتری نسبت به افراد عادی دارند، بیش از همه در معرض این عادت اشتباه قرار دارند. سعی کنید با تمرکز بر هر وظیفه در یک زمان، تمرکز خود را برای انجام کارها حفظ کنید.

ad163a6b-70ff-474f-9e35-0e71a8e364fe۴. کارها را واگذار کنید

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

۵. تیمی منسجم با بهره‌وری بالا تشکیل دهید

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

۰۲۳aa0c0-2362-4882-a74d-22a50f610083۶. برنامه‌ی کاری و زمانی خود را تقسیم‌بندی کنید

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

۷. کارهای غیرمفید را به آخر روز موکول کنید

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

۸. اگر موفق به انجام کاری نمی‌شوید، آن را رها کنید یا کمک بگیرید

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

۹. از مشاوره‌های یک مربی یا منتور استفاده کنید

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

۱۰. برنامه‌ی زمانی را طوری تنظیم کنید که به بدن و روحیات شما آسیب نرسد

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

منبع: زومیت

هکر سایت های دولتی ایران دستگیر شد

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

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

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

این هکر که با نام «مافیا هکینگ تیم» فعالیت می‌کرد، تاکنون تعداد زیادی از سایت‌های داخلی از جمله سایت سازمان ثبت اسناد کشور، شرکت پست جمهوری اسلامی ایران و تعدادی از دانشگاه‌های کشور را هدف فعالیت‌های مجرمانه خویش (هک، نفوذ و …) قرار داده است.

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

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

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

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

۷ عادت سازنده برای افزایش بهره وری در زندگی

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

آیا می‌توانید تصور کنید که یک زندگی، بدون لذت و سرگرمی چگونه است؟

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

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

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

فعالیت‌های داخل منزل

مدیتیشن

ad0cadbc-26d6-41fa-b473-d670d7843712یکی از مشهورترین و در عین حال ساده‌ترین روش‌هایی که در منزل خود می‌توانید انجام دهید تا بتوانید احساس رهایی را تجربه کنید، تمرین هنر مدیتیشن است. این روش نه تنها کمک می‌کند که زمان خود را به بهترین شکل سپری کرده و شما را سالم‌تر نگه می‌دارد، بلکه میزان تمرکز و عملکرد سیستم ایمنی بدن‌تان را هم بالا خواهد برد. علاوه بر این مدیتیشن به از بین بردن اضطراب، افسردگی، احساس‌های منفی و استرس کمک بسیاری می‌کند. تمامی این مزایا در واقع به بهبود سطح کلی کیفیت زندگی شما منجر می‌شود.

چندان مهم نیست که حتما زمان مشخصی از شبانه‌روز را برای این تمرینات اختصاص دهید. این زمان می‌تواند بسته به شرایط شما بین ۵ دقیقه تا ۱ ساعت متغیر باشد. در واقع هر مقدار زمانی که برای این تمرین مفید اختصاص می‌دهید به آرامش درونی‌تان کمک خواهد کرد.

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

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

قلاب‌دوزی

d3b413e6-ef36-454e-9153-47ed3f6bf38bقلاب‌دوزی هم درحقیقت می‌تواند یک بازی فکری باشد. چه باورکنید و چه نکنید مردمی هم هستند که از بازی با قلاب‌دوری و بافتن یک گل یا حتی یک نوشته و نقل‌قول، احساس لذت و شادی می‌کنند. می‌توانید به هرجایی که می‌روید قلاب‌دوزیتان را همراه خود داشته باشید و در حینی که بازی کودکان خود را تماشا می‌کنید آن را هم انجام دهید.

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

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

صنایع دستی

cff295ec-db5d-4f23-a8ae-b0a888748f7fآیا تا به حال به این موضوع فکر کرده‌اید که با کمک اشیای به ظاهر بی‌استفاده‌ی پیرامون خود،  بهترین نتیجه و محصول را به دست آورید؟ بله تبدیل اشیای به ظاهر اضافی به اشیای مفید هم می‌تواند جالب باشد. این هنر می‌تواند به ‌طور موثری خاصیت درمانی طبیعی داشته باشد و به کاهش اضطراب و دردهای مزمن و افسردگی کمک فراوان کند و مسئله‌ی مهم‌تر این که برای آن نیازی نیست که به هرجایی بروید تا آن را انجام بدهید.

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

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

فعالیت های بیرونی

پیاده‌روی و کوهنوردی

c7d1b184-e355-4b82-b86c-189a8fd062a4انجام پیاده‌روی و کوه‌پیمایی الزاما به این معنا نیست که شما باید یک کوهنورد حرفه‌ای باشید. بلکه در حقیقت این فعالیت‌ها می‌توانند بخشی از سرگرمی تعطیلات آخر هفته شما باشند که با توجه به میزان سختی و فشار قابل تحمل برای شخص شما، به سایر برنامه روزانه‌تان اضافه شود. به مرور می‌توانید میزان سختی راه را با تغییر مسیر افزایش دهید.

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

دوچرخه‌سواری

f4ba0fc2-c188-4c09-aace-cac0288d7199یکی دیگر از فعالیت‌های خارج از خانه که می‌توانید دنبال کنید، دوچرخه‌سواری است. جدای از مزایای سودمند فیزیکی و جسمانی آن، ثمرات بسیار زیاد روحی و روانی همراه دوچرخه سواری وجود دارد.

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

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

سنگنوردی

a17b77fa-b1f0-48b0-9d3f-e705ae0e74f3سنگنوردی هم یکی دیگر از روش‌های دفع کردن استرس است. حتما لازم نیست که یک صخره یا کوه واقعی را برای صعود پیدا کنید. بلکه شما می‌توانید به مراکز سنگ‌نوردی داخل سالن رفته که البته ممکن است چشم‌انداز خیره‌کننده‌ای نداشته باشند اما به اندازه‌ی صخره‌ی واقعی کاربردی هستند.

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

سنگ‌نوردی کمک می‌کند که اهداف خود را تنظیم کرده و به عنوان یک مسکن استرس بزرگ عمل می کند و به بهبود اعتماد به نفس، کمک فراوان می‌کند به طوری که با صعود به یک کوه می‌توانید برای بقیه‌ی عمر به این عمل خود افتخار کنید.

منبع: زومیت

آموزش PHP – جلسه شانزدهم: Session و Cookie

ذخیره اطلاعات در متغیرها برای کاربردهای مختلفی در پی‌اچ‌پی در اختیار توسعهدهندگان قرار گرفته است. علاوه بر این با ذخیره داده‌ها در بانک داده MySql آشنا شدید. اما گاهی نیاز به نوع دیگری از ذخیره داده‌ها خواهید داشت. مثلا متغیرهایی که در تمام پروژه در دسترس باشند. از سشن (Session) و کوکی (Cookie) دقیقا به همین منظور در پی‌اچ‌پی استفاده می‌کنیم. در ادامه با ما همراه باشید.

در برنامه‌نویسی وب بسیار پیش می‌آید که شما نیاز به ذخیره اطلاعات در متغیرهایی داشته باشید که در سراسر پروژه در دسترس باشند. در این شرایط می‌توان از Sessionها و Cookieها استفاده کرد. 

تفاوت Session و Cookie در آن است که سشن‌ها در سرور ذخیره می‌شوند ولی کوکی‌ها در دستگاه کاربر ذخیره خواهند شد.

استفاده از Session

برای استفاده از سشن‌ها باید در ابتدای صفحه ابتدا آن را آغاز کنید. کد شروع یک سشن به صورت زیر است:

<?php

session_start();

?>

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

<?php

session_start();

$_SESSION[‘user’] = “mojtaba”;

?>

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

<?php

session_start();

$_SESSION[‘user’] = “mojtaba”;

echo $_SESSION[‘user’];

?>

کد بالا باعث نمایش کلمه mojtaba در مرورگر کاربر می‌شود. اما برای این‌که نوع عملکرد سشن‌ها را بهتر درک کنید، یک مثال ساده می‌زنیم. نرم‌افزار Xampp را مثل همیشه اجرا کنید. حالا در پوشه htdocs یک پوشه به اسم exam ایجاد کرده و در این پوشه نیز دو فایل به نام‌های yek.php و do.php بسازید. فایل yek.php را باز کرده و کد زیر را در آن قرار دهید:

<?php

session_start();

$_SESSION[‘isAdmin’] = true;

$_SESSION[‘username’] = “mehrastan”;

?>

حال فایل را ذخیره کنید و فایل do.php را باز کرده و کدهای زیر را در آن قرار دهید:

<?php

session_start();

if ($_SESSION[‘isAdmin’] == true){

echo “you are admin and your username is $_SESSION[‘username’]”;

}else{

echo “session is not set!”;

}

?>

پس از آغاز سشن، ما دو سشن جدید به نام‌های isAdmin و username را در فایل yek.php ایجاد کردیم و مقدار آن‌ها را به ترتیب true و mehrastan تعیین کردیم. دقت کنید که مقدار سشن isAdmin از نوع Boolean تعیین شده است. حال در فایل do.php پس از اجرای سشن با تابع ()session_start با یک دستور if مقدار سشن isAdmin را بررسی کرده‌ایم که در صورت true بودن پیامی چاپ شود و در این پیام مقدار سشن username نیز به کاربر نمایش داده می‌شود. در غیر اینصورت پیام session is not set به کاربر نمایش داده می‌شود.

همانطور که می‌بینید ما سشن‌ها را در فایل yek.php ایجاد کردیم ولی توانستیم در فایل do.php نیز به آن‌ها دسترسی داشته باشیم.

روش کارکرد کوکی‌ها نیز تقریبا به همین صورت است با این تفاوت که کوکی‌ها در سرور ذخیره نخواهند شد و در عوض در سیستم کاربران ذخیره و در مواقع نیاز از طریق مرورگر فراخوانی می‌شوند. از کوکی‌ها بیشتر به منظور شناسایی کاربران استفاده می‌کنیم. با استفاده از پی‌اچ‌پی می‌توانیم کوکی‌های جدید را ایجاد و مقداردهی و نیز فراخوانی کنیم.

برای تعریف یک کوکی جدید از تابع setcookie استفاده می‌کنیم. به کد زیر دقت کنید:

<?php

setcoockie(name, value, expire, path, domain, secure, httponly);

?>

برخی از ورودی‌های تابع فوق الزامی و برخی دیگر اختیاری هستند. در ادامه به توضیح ورودی‌های این تابع می‌پردازیم.

name: نام کوکی جدید که قصد تعریف آن را داریم

value: مقداری که میخواهیم در کوکی موردنظرمان ذخیره شود

expire: مدت زمانی که کوکی پس از آن منقضی خواهد شد (بر حسب ثانیه)

path: تعیین مسیر ذخیره کوکی در سرور

domain: تعیین این‌که کوکی در چه دامینی در دسترس باشد

secure: تعیین این‌که آیا کوکی فقط در ارتباطات امن در دسترس باشد یا خیر

httponly: اگر این مقدار true باشد کوکی فقط از طریق http در دسترس خواهد بود

در کد زیر یک کوکی جدید به نام name می‌سازیم و مقدار آن را برابر با Mojtaba قرار می‌دهیم. همچنین زمان انقضای این کوکی را ۳۰ روز می‌خواهیم تعیین کنیم و بنابراین ۸۴۰۰۰ ثانیه را در ۳۰ ضرب کرده و نتیجه را برای زمان انقضا در نظر گرفته‌ایم. کاراکتر / به معنای در دسترس بودن کوکی در سراسر دامین است. برای دسترسی به مقدار کوکی همانند سشن‌ها از COOKIE_$ استفاده کرده‌ایم. 

<?php

$value = “Mojtaba”;

setcoockie (“user”, $value, time() + (86400 * 30), ‘/’);

if (isset($_COOKIE[‘user’])

{

    echo “cookie is set and this cookie is: $_COOKIE[‘user’]”;

}

?>

در کد بالا تابع isset را در شرط if بکار برده‌ایم. این تابع بررسی می‌کند که آیا آنچه قصد بررسی‌اش را داریم حاوی مقدار است یا خیر. همچنین تابع time زمان کنونی سرور را برمی‌گرداند.

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

از سشن‌ها و کوکی‌ها برای هویت‌سنجی کاربران می‌توان استفاده کرد. تقریبا می‌توان گفت که بیشتر سایت‌هایی که با پی‌اچ‌پی ایجاد شده‌اند، از کوکی و سشن یا ترکیبی از این دو برای بخش ورود کاربران، ورود به بخش مدیریت سیستم و… استفاده می‌کنند.

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

منبع: زومیت