سبد (0)

اموزش ,

  • ارسال ایمیل در PHP

    Wiki

    در PHP با استفاده از تابع ()mail می توان از داخل یک اسکریپت ایمیل ارسال کرد.

    نحوه استفاده:

    mail(to,subject,message,headers,parameters)

    پارامتر توضیحات
    to

    الزامی است، دریافت کننده یا دریافت کنندگان ایمیل را مشخص می کند.

    subject

    الزامی است، موضوع ایمیل را مشخص می کند. توجه داشته باشید که این پارامتر Enter را قبول نمی کند(n\)

    message

    الزامی است، متن ایمیل را مشخص می کند.

    headers

    اختیاری است، headerهای دلخواه مانند From,CC,BCC و غیره را مشخص می کند، هر کدام از این Headerها باید با کاراکتر "n\" یا "r\" از یکدیگر جدا شوند

    parameters

    اختیاری است، یک پارامتر اضافی برای برنامه ارسال ایمیل مشخص می کند.

    توجه: برای تغییر تنظیمات پیکربندی ارسال ایمیل می توانید از فایل php.ini استفاده کنید، احتمالاً اگر می خواهید مطالب بیشتری راجع به توابع ارسال ایمیل بدانید از لینک روبرو استفاده کنید:

    مثال: در مثال زیر، یک متن ساده را ارسال کرده ایم:

    <?php
    $to = "این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید";
    $subject = "Test mail";
    $message = "Hello! This is a simple email message.";
    $from = "این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);
    echo "Mail Sent.";
    ?>


    فرم ارسال ایمیل

    Wiki

    همان طور که می دانید با استفاده از دستور echo می توان هر متغیر یا رشته ای را چاپ کرد، این رشته می تواند تگ های HTML باشد، ایجاد فرم HTMLاز این طریق feedback-form نامیده می شود، به مثال زیر برای ارسال ایمیل توجه کنید:

    <html>
    <body>

    <?php
    //اگر تکس باکس ایمیل پرشده باشد،ایمیل ارسال می شود
    if (isset($_REQUEST['email']))
      {
      //ارسال ایمیل
      $email = $_REQUEST['email'] ;
      $subject = $_REQUEST['subject'] ;
      $message = $_REQUEST['message'] ;
      mail("این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید", "$subject",
      $message, "From:" . $email);
      echo "Thank you for using our mail form";
      }
    else
    //اگر تکس باکس ایمیل پرنشده باشد، فرم ارسال، نمایش داده می شود
      {
      echo "<form method='post' action='mailform.php'>
      Email: <input name='email' type='text' /><br />
      Subject: <input name='subject' type='text' /><br />
      Message:<br />
      <textarea name='message' rows='15' cols='40'>
      </textarea><br />
      <input type='submit' />
      </form>";
      }
    ?>

    </body>
    </html>

    مثال بالا چه طور کار می کند:

    • ابتدا بررسی می کند که آیا فیلد ورودی email پر شده است یا نه
    • اگر پرنشده است(مثل وقتی که صفحه تازه دیده می شود) فرم HTML را نمایش می دهد
    • اگر پر شده است(بعد از اینکه فرم پر شده) email را ارسال می کند

    نکته: این ساده ترین راه برای ارسال email است، اما ایمن نیست. در فصل بعد درمورد آسیب پذیری scriptهای ارسال ایمیل و اینکه چه طور ورودی کاربر را برای ایمن تر کردن آن معتبر کنیم، توضیح داده شده است.

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHPکلیک کنید.

    READ MORE
  • بک آپ گیری از Exchange  Server  مایکروسافت

    سه روش وجود دارد:بک آپ گیری ازExchange Server 2003 با استفاده از NTBACKUP                                                                                            بک آپ گیری ازExchange Server 2010 با استفاده از Windows Server Backup

    سرورهای Exchange می بایست به طور منظم بک آپ گیری شوند تا در صورت خرابی سرور Exchange همه صندوق های پستی (mailboxes) و داده های سیستم قابل بازیابی باشند. از آنجا که سرور Exchange از فایل های باز و فرآیندهای اجرایی استفاده می کند، پشتیبان گیری فایل ها نسبت به فایل های مسطح پیچیده تر است. برنامه های پشتیبان گیری مایکروسافت و سایر نرم افزار های دیگر می توانند برای پشتیبان گیری سرور های Exchange استفاده شوند. برنامه Microsoft Exchange Server 2010 یک پلاگین برای Windows Server Backup ارائه کرده که پشتیبان گیری را آسان و موفق  می کند. نسخه های قدیمی تر Microsoft Exchange با استفاده از ابزار سودمند بک آپ گیری به نام NTBACKUP حمایت می شوند.

    روش 1

    بک آپ گیری ازExchange Server 2003 با استفاده از NTBACKUP

    1. Image titled Back Up Microsoft Exchange Server Step 1
      1
      ابتدا باید اطمینان پیدا کنیم که Exchange System Manager بر روی سرور پشتیبان نصب شده باشد.
       
    2. Image titled Back Up Microsoft Exchange Server Step 2
      2
      با کلیک چپ روی دکمه استارت، گزینه "RUN" را انتخاب و عبارت "NTBACKUP" را در خط فرمان وارد کنید.
    3. Image titled Back Up Microsoft Exchange Server Step 3
      3
      فرمان های صفحه بعدی را کلیک کنید. یک پوشه برای ذخیره فولدرهای بک آپ شده انتخاب و آن را نام گذاری مناسب کنید. در مورد تایید داده ها بعد از پشتیبان گیری گزینه مورد نظر را انتخاب کنید. این کار زمان بیشتری می برد، اما نسخه پشتیبان موفقیت آمیز را تضمین می کند.
    4. Image titled Back Up Microsoft Exchange Server Step 4
      4
      منتظر بمانید تا اجرای پشتیبان گیری به پایان برسد. درصد عملیات تکمیل شده در صفحه نمایش نشان داده می شود. هنگامی که عملیات به پایان رسید، بررسی وقایع (event log) را چک کنید تا هر گونه خطایی در طول روند اجرای عملیات وجود داشته را ببینید.
       

    روش 2

    بک آپ گیری از Exchange Server 2010 با استفاده از Windows Server Backup

    1. Image titled Back Up Microsoft Exchange Server Step 5
      1
      ابتدا قابلیت Windows Server Backup در کامپیوتر خود را نصب کنید.
       
    2. Image titled Back Up Microsoft Exchange Server Step 6
      2
      در صورتی که سرویس Exchange Replication در حال اجرا می باشد آن را غیر فعال (Disable ) کنید.
    3. Image titled Back Up Microsoft Exchange Server Step 7
      3
      به عنوان کاربری با سطح دسترسی backup و restore mailboxes به Exchange server لاگین کنید.
    4. Image titled Back Up Microsoft Exchange Server Step 8
      4
      برنامهWindows Server Backup را از فولدر مربوطه باز کنید.
    5. Image titled Back Up Microsoft Exchange Server Step 9
      5
      از منوی actions  گزینه "Backup Once" را انتخاب کنید.
    6. Image titled Back Up Microsoft Exchange Server Step 10
      6
      گزینه "Different options,"را انتخاب و سپس دکمه "next" را کلیک کنید.
    7. Image titled Back Up Microsoft Exchange Server Step 11
      7
      نوع بک آپ گیری را انتخاب و دکمه  "next" را کلیک کنید. در پیکربندی گزینه"Full server" توصیه می شود تا تمامی درایوها را بک آپ بگیرد. با انتخاب گزینه "custom" حجم خاصی برای پشتیبان گیری در صفحه بعد انتخاب می شود. درایوهایی که شامل برنامه ها و یا مولفه های کاربردی سیستم عامل هستند بصورت پیش فرض بک آپ گیری می شوند.
    8. Image titled Back Up Microsoft Exchange Server Step 12
      8
      مکانی برای ذخیره اطلاعات بک آپ گیری شده انتخاب و بر روی دکمه "next" کلیک کنید. فولدر محلی (local) یا از راه دور (remote ) می تواند انتخاب شود. برای استفاده از محیط ریموت باید نام کاربری با سطح دسترسی نوشتن (write) بر روی کامپیوتر ریموت را انتخاب کنید. با انتخاب گزینه "inherit" به تمام کاربران اجازه دسترسی به فولدرهای راه دور و پشتیبان گیری از آنها داده می شود.
    9. Image titled Back Up Microsoft Exchange Server Step 13
      9
      در صفحه تنظیمات پیشرفته گزینه "VSS full backup" را مشخص کنید. دکمه "next" را بزنید. تنظیمات بک آپ گیری را تایید و آن را اجرا کنید.
    10. Image titled Back Up Microsoft Exchange Server Step 14
      10
      وضعیت بک آپ گیری را در صفحه "Backup progress" مشاهده کنید. زمانی که بک آپ گیری تمام شد دکمه "close" را بزنید.

    روش سوم

     

    1. Image titled Back Up Microsoft Exchange Server Step 15
      1
      با مایکروسافت و سایر فروشنده ها بررسی کنید تا اطمینان حاصل شود که برنامه های ثالث توسط مایکروسافت پشتیبانی و نیازمندیهای پشتیبان گیری Exchange بررسی شده باشد. نرم افزار های پشتیبان گیری که نمی توانند فایل های باز را تحمل کنند، منجر به از دست دادن داده ها می شود.
    2. Image titled Back Up Microsoft Exchange Server Step 16
      2
      Exchange Agent backup software را روی سرور بک آپ نصب کنید.
    3. Image titled Back Up Microsoft Exchange Server Step 17
      3
      برای اجرای پشتیبان گیری آنلاین یا آفلاین تصمیم گیری کنید. پشتیبان گیری آنلاین در زمان استفاده از سرور Exchange قابل اجرا می باشد. پشتیبان گیری آفلاین، پایگاه داده ها و خدمات Exchange  را متوقف خواهد کرد.
    4. Image titled Back Up Microsoft Exchange Server Step 18
      4

      بک آپ گیری افزایشی کامل یا دیفرانسیل را انتخاب کنید.
      پشتیبان گیری کامل همه چیز را بک آپ می گیرد. پشتیبان گیری افزایشی و یا دیفرانسیل، تغییرات دایرکتوری و یا فولدرها و دیتابیس ها را بک آپ می گیرد، زیرا زمان و فضای دیسک کمتری نیاز دارد.
    READ MORE
  • درج کردن اطلاعات در MySQL با استفاده از MySQLi و PDO

    Wiki

    بعد از اینکه پایگاه داده و جداول را ایجاد کردیم، حالا نوبت به درج اطلاعات می رسد.

    دستور INSERT INTO برای درج کردن یک رکورد جدید در جدول استفاده می شود.

    در اینجا چند قانون ساختاری وجود دارد که باید پیروی کنید:

    • کوئری های SQL در PHP باید با علامت کوتیشن محصور شوند.
    • مقادیر رشته ای استفاده شده در کوئری ها باید با علامت کوتیشن محصور شوند.
    • اعداد را نباید با کوتیشن محصور کنید.
    • کلمه NULL نباید با کوتیشن محصور شود.

    به دو صورت می توان از دستور INSERT INTO استفاده کرد:

    1- در این روش نیازی نیست که نام ستونها ذکر شود:

    INSERT INTO table_name
    VALUES (value1, value2, value3,...)

    2- در این روش باید نام ستون ها و مقادیر متناظرشان ذکر شود:

    INSERT INTO table_name (column1, column2, column3,...)
    VALUES (value1, value2, value3,...)

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

    در مطلب قبل، یک جدول با نام "MyGuests" با 5 فیلد "id" و "firstname" و "lastname" و "email" و "reg_date" ایجاد کردیم، حالا اجازه دهید تا جدول را با اطلاعات پر کنیم.

    Note توجه: اگر هنگام تعریف جدول، برای یک ستون، گزینه AUTO_INCREMENT را تنظیم کرده باشیم (مانند فیلد id) و یا فیلد مورد نظر از نوع TIMESTAMP باشد (مانند فیلد reg_date) هنگام درج اطلاعات نیازی به مشخص کردن مقدار نیست و MySQL بصورت اتوماتیک آنها را پر خواهد کرد.

    مثال های زیر یک رکورد جدید به جدول "MyGuests" اضافه خواهند کرد:

    مثال (MySQLi Object-oriented)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO MyGuests (firstname, lastname, email)
    VALUES ('John', 'Doe', این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
    ?>

    مثال(MySQLi Procedural)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // Check connection
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }

    $sql = "INSERT INTO MyGuests (firstname, lastname, email)
    VALUES ('John', 'Doe', این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید')";

    if (mysqli_query($conn, $sql)) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }

    mysqli_close($conn);
    ?>

     توجه: همانطور که قبلاً گفته شد در روش MySQLi Procedural برای اجرای کوئری ها، باید از تابع ()mysqli_query استفاده کرد، این تابع توسط Connectionی که برقرار شده برای ارسال کوئری به MySQL استفاده می شود.

    مثال(PDO)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDBPDO";

    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "INSERT INTO MyGuests (firstname, lastname, email)
        VALUES ('John', 'Doe', این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید')";
        // use exec() because no results are returned
        $conn->exec($sql);
        echo "New record created successfully";
        }
    catch(PDOException $e)
        {
        echo $sql . "<br>" . $e->getMessage();
        }

    $conn = null;
    ?>

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • انتخاب داده ها از پایگاه داده MySQL

    Wiki

    دستور SELECT برای انتخاب داده از یک جدول استفاده می شود.

    نحوه استفاده:

    می توانیم با استفاده از نام ستون ها، تعداد محدودی از ستون های یک جدول را انتخاب کنیم:

    SELECT column_name(s) FROM table_name

    یا می توانیم با استفاده از کاراکتر *، تمام ستون های یک جدول را انتخاب کنیم:

    SELECT * FROM table_name

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


    انتخاب داده ها با استفاده از MySQLi

    Wiki

    در مثال زیر، ستون های id و firstname و lastname از جدول MyGuests در صفحه نمایش داده خواهند شد:

    مثال(MySQLi Object-oriented)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ارتباط به پایگاه داده
    $conn = new mysqli($servername, $username, $password, $dbname);
    // مطمئن شدن از صحت ارتباط
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    //تنظیم کوئری
    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    //اجرای کوئری و قرار دادن نتیجه در متغیر
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // نمایش داده ها به ازای هر ردیف
    while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
    } else {
    echo "0 results";
    }
    //بستن ارتباط با پایگاه داده
    $conn->close();
    ?>

    خروجی کد بالا:

    id: 1 - Name: John Doe
    id: 2 - Name: Mary Moe
    id: 3 - Name: Julie Dooley

    توضیح مثال:

    1. ابتدا یک کوئری SQL را تنظیم کردیم که ستون های id و firstname و lastname از جدول MyGuests را انتخاب می کند. نتیجه اجرای کوئری توسط تابع ()query در متغیر result$ ذخیره می شود.
    2. حالا نتیجه کوئری در متغیر result$ است و می خواهیم که آنها را در خروجی نمایش دهیم، اما قبل از آن باید مطمئن شویم که کوئری ما نتیجه ای را در بر داشته است، بنابراین با استفاده از تابع ()num_rows چک می کنیم که ردیف ها بزرگتر از صفر باشد.
    3. با استفاده از تابع ()fetch_assoc ردیف اول داده ها برگردانده می شود، در یک اسکریبت با هر بار فراخوانی این تابع ردیف های بعدی بر می گردد.
    4. با استفاده از حلقه while و با هر بار فراخوانی تابع ()fetch_assoc نتیجه در متغیر row$ ذخیره می شود و این کار تا آخرین رکورد ادامه می یابد و اطلاعات ستون ها چاپ می شود.

    در مثال زیر نیز با استفاده از روش MySQLi procedural ستون های id و firstname و lastname از جدول MyGuests در صفحه نمایش داده خواهند شد:

    مثال(MySQLi Procedural)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ایجاد ارتباط با پایگاه داده
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    // اطمینان از صحت ارتباط
    if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    }
    //تنظیم کوئری
    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    $result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
    // نمایش داده ها به ازای هر ردیف
    while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
    } else {
    echo "0 results";
    }

    mysqli_close($conn);
    ?>

    خروجی کد بالا:

    id: 1 - Name: John Doe
    id: 2 - Name: Mary Moe
    id: 3 - Name: Julie Dooley

    همچنین می توانید خروجی را در یک جدول HTML نمایش دهید:

    مثال(MySQLi Object-oriented)

    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // ایجاد ارتباط با پایگاه داده
    $conn = new mysqli($servername, $username, $password, $dbname);
    // اطمینان از صحت ارتباط
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    //تنظیم کوئری
    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    echo "<table><tr><th>ID</th><th>Name</th></tr>";
    // نمایش داده ها به ازای هر ردیف
    while($row = $result->fetch_assoc()) {
    echo "<tr><td>".$row["id"]."</td><td>".$row["firstname"]." ".$row["lastname"]."</td></tr>";
    }
    echo "</table>";
    } else {
    echo "0 results";
    }
    $conn->close();
    ?>

    خروجی کد بالا، البته با استایل زیر:

    <style>
    table, th, td {
    border: 1px solid black;
    }
    </style>

    خروجی:

    ID Name
    1 John Doe
    2 Mary Moe
    3 Julie Dooley

    انتخاب داده ها با استفاده از PDO + دستورات آماده

    Wiki

    در مثال زیر، از دستورات آماده (prepared statements) استفاده شده است.

    در مثال زیر نیز با استفاده از روش PDO ستون های id و firstname و lastname از جدول MyGuests در یک جدول HTMLی نمایش داده خواهند شد:

    مثال(PDO)

    <?php
    echo "<table style='border: solid 1px black;'>";
    echo "<tr><th>Id</th><th>Firstname</th><th>Lastname</th></tr>";

    class TableRows extends RecursiveIteratorIterator {
    function __construct($it) {
    parent::__construct($it, self::LEAVES_ONLY);
    }

    function current() {
    return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>";
    }

    function beginChildren() {
    echo "<tr>";
    }

    function endChildren() {
    echo "</tr>" . "\n";
    }
    }

    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDBPDO";

    try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
    $stmt->execute();

    // set the resulting array to associative
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
    echo $v;
    }
    }
    catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
    }
    $conn = null;
    echo "</table>";
    ?>

    خروجی کد بالا:

    Id Firstname Lastname
    1 John Doe
    2 Mary Moe
    3 Julie Dooley

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • رمزنگاری URL، کاراکترها را به فرمتی تبدیل می کند که بتواند بر روی اینترنت مخابره شود.


    URL Encoding (رمزنگاری URL)

    Wiki

    URL ها تنها به وسیله مجموعه کاراکترهای ASCII می توانند بر روی اینترنت فرستاده شوند.

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

    برای رمزنگاری URL، کاراکترهایی که خارج از مجموعه ASCII هستند، با یک علامت % به همراه دو رقم در مبنای هگزا دسیمال جایگزین می شوند.

    URLها نمی توانند حاوی space باشند. به طور معمول space را با علامت "+" جایگزین می کنند.


    مثال - خودتان امتحان کنید

    Wiki

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

    ورودی های دیگری را امتحان کنید و دکمه Submit را فشار دهید.


    مثال URL Encoding

    Wiki

    Character URL-encoding
    %80
    £ %A3
    © %A9
    ® %AE
    À %C0
    Á %C1
    Â %C2
    Ã %C3
    Ä %C4
    Å %C5
    READ MORE
  • عملگرها در PHP

    Wiki

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

    عملگرهای ریاضی

     این عملگرها عملی را روی دو متغییر یا دو عدد انجام می دهند.

    عملگر توضیحات مثال نتیجه
    + جمع x=2
    x+2
    4
    - تفریق x=2
    5-x
    3
    * ضرب x=4
    x*5
    20
    / تقسیم 15/5
    5/2
    3
    2.5
    % باقیمانده تقسیم 5%2
    10%8
    10%2
    1
    2
    0
    ++ افزایش به میزان یک واحد x=5
    x++
    x=6
    -- کاهش به میزان یک واحد x=5
    x--
    x=4

     عملگرهای انتسابی

    Wiki

    عملگر مثال هم ارز با
    = x=y x=y
    += x+=y x=x+y
    -= x-=y x=x-y
    *= x*=y x=x*y
    /= x/=y x=x/y
    .= x.=y x=x.y
    %= x%=y x=x%y

    عملگرهای مقایسه ای

    Wiki

     این عملگرها مقایسه ای بین دو متغییر انجام می دهند و نتیجه را به صورت true یا false برمی گردانند.

    عملگر توضیحات مثال
    == برابری 5==8 returns false
    != نابرابری 5!=8 returns true
    > بزرگتر از 5>8 returns false
    < کوچکتر از 5<8 returns true
    >= بزرگتر یا مساوی با 5>=8 returns false
    <= کوچکتر یا مساوی با 5<=8 returns true

    عملگرهای منطقی

    Wiki

     این عملگرها با مقدارهای true و false کار می کنند و آنها را با هم ادغام می کنند.

    عملگر توضیحات مثال
    && and x=6
    y=3

    (x < 10 && y > 1) returns true

    || or x=6
    y=3

    (x==5 || y==5) returns false

    ! not x=6
    y=3

    !(x==y) returns true

    عملگرهای رشته ای

    Wiki

     در رشته ها تنها عملگری که استفاده می شود نقطه "." می باشد که دو رشته را به همدیگه متصل می کند.

    عملگر توضیحات مثال
    . برای الحاق دو رشته استفاده می شود

    'hello'.'world'
    return 'hello world'

    عملگرهای بیتی

    Wiki

    این عملگرها بر روی بیت های یک متغییر عملی را انجام میدهند و بیتها را به نسبت عملگر برمیگردانند. اگر متغییرها رشته هستند بر روی کدهای ASCII آنها عمل می کند.

    عملگر توضیحات مثال نتیجه
    ~  not ~$a; بیت هایی را برمی گرداند که در a$ نیستند.
    &  and a$ & $b; بیت هایی را برمی گرداند که هم در a$ و هم در b$ هستند.
    |  or $a | $b; بیت هایی را که در a$ یا در b$ هستند برمی گرداند.
    ^  xor $a ^$b; بیت هایی را برمی گرداند که در a$ یا در b$ هستند اما در هر دو نیستند.
    >>  شیفت به چپ $a << $b; بیت های a$ را به اندازه b$ تا به سمت چپ انتقال می دهد.
    <<  شیفت به راست $a >> $b; بیت های a$ را به اندازه b$ تا به سمت راست انتقال می دهد.

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

    READ MORE
  • باز کردن فایل در PHP

    Wiki

    تابع ()fopen برای باز کردن فایل ها در php مورد استفاده قرار می گیرد.

    پارامتر اول این تابع شامل نام فایلی است که می خواهیم باز شود و پارامتر دوم مشخص می کند که فایل در چه حالتی باز شود:

    <html>
    <body>

    <?php
    $file=fopen("welcome.txt","r");
    ?>

    </body>
    </html>

    فایل ممکن است در یکی از حالات زیر باز شود:

    حالت توضیحات
    r

    فقط خواندنی. از ابتدای فایل آغاز می شود

    r+

    خواندنی/نوشتنی. از ابتدای فایل آغاز می شود

    w

    فقط نوشتنی. فایل را باز و محتویات آن را پاک می کند، یا اگر فایلی وجود نداشت آن را ایجاد می کند

    w+

    خواندنی/نوشتنی. فایل را باز و محتویات آن را پاک می کند، یا اگر فایلی وجود نداشت آن را ایجاد می کند

    a

     افزودن(الحاق). فایل را باز و در انتهای آن می نویسد، یا اگر فایلی وجود نداشت آن را ایجاد می کند

    a+

    خواندنی/افزودنی. محتویات فایل را با نوشتن در انتهای آن حفظ می کند

    x

    فقط نوشتنی. یک فایل جدید ایجاد می کند.اگر فایل درحال حاضر وجود داشته باشد false و یک خطا برمیگرداند

    x+

    خواندنی/نوشتنی. یک فایل جدید ایجاد می کند. اگر فایل درحال حاضر وجود داشته باشد false و یک خطا برمیگرداند

    نکته:اگر تابع ()fopen قادر به باز کردن فایل مشخص شده نباشد٫ مقدار "0" یا (false) را برمی گرداند.

    مثال:

    در مثال زیر اگر تابع ()fopenقادر به باز کردن فایل مشخص شده نباشد یک پیغام تولید می کند:

    <html>
    <body>

    <?php
    $file=fopen("welcome.txt","r") or exit("Unable to open file!");
    ?>

    </body>
    </html>


    بستن فایل در PHP

    Wiki

    تابع ()fclose برای بستن یک فایل باز استفاده می شود:

    <?php
    $file = fopen("test.txt","r");

    //some code to be executed

    fclose($file);
    ?>


    چک کردن پایان فایل

    Wiki

    تابع ()feof بررسی می کند که آیا به پایان فایل (eof) رسیده ایم یا نه.

    تابع ()feof برای ایجاد حلقه در داده های با طول نامشخص مناسب است.

    توجه:شما نمی توانید از فایل هایی که در حالت w و a و x باز شده اند، بخوانید!

    if (feof($file)) echo "End of file";


    خواندن خط به خط یک فایل

    Wiki

     تابع ()fgets برای خواندن یک خط از یک فایل، مورد استفاده قرار می گیرد.

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

     مثال:

    مثال زیر یک فایل را تا پایان فایل، خط به خط می خواند:

    <?php
    $file = fopen("welcome.txt", "r") or exit("Unable to open file!");
    //Output a line of the file until the end is reached
    while(!feof($file))
      {
      echo fgets($file). "<br />";
      }
    fclose($file);
    ?>


    خواندن کاراکتر به کاراکتر یک فایل

    Wiki

     تابع ()fgetc برای خواندن یک کاراکتر تنها از یک فایل، مورد استفاده قرار می گیرد.

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

    مثال:

    مثال زیر یک فایل را تا پایان فایل، کاراکتر به کاراکتر می خواند:

    <?php
    $file=fopen("welcome.txt","r") or exit("Unable to open file!");
    while (!feof($file))
      {
      echo fgetc($file);
      }
    fclose($file);
    ?>

    برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHPکلیک کنید.

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