لطفا از تمام مطالب ديدن فرماييد.
نمایش بی نهایت عکس درون یک پوشه با php:

برای نمایش عکس ها درون یک پوشه در سرور با php ار کد زیر استفاده می کنیم:

    //ایجاد یک تابع    
function getFileList($folderName, $fileType = "")
{
    if (substr($folderName, strlen($folderName) - 1) != "/") {
        $folderName .= '/';
    }
    
    foreach (glob($folderName . '' . $fileType) as $filename) {
        if (is_dir($filename)) {
            $type = 'folder';
        } else {
            $type = 'file';
        }
    //اگر پوشه user-upload انتخاب شد
        if($dir = opendir("user-upload"))
        $i=0;
        {  

//حلقه تکرار  
        while(($file = readdir($dir))!== false)
        {
            $i++;

//نمایش عکس ها در این قسمت
        echo '
        < img id="ul" src="user-upload/'.$file.'" style="width:100px;
            height:100px;">';
            
    }
    }
    }
    }
    


// اتصال به تابع
getFileList('user-upload'); // نمایش تمامی فایلها درون پوشه
?>

 


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:12 بعد از ظهر | نويسنده : احسان صمدی فرد |
برای حذف اطلاعات از جدول my sql با php از کد زیر استفاده می کنیم.

کد:

session_start();

mysql_select_db("dbname");

mysql_connect("localhost", "root", "password");

if(isset($_GET['submit']))

{

$result = mysql_query("delete from tblname were id=".$_GET['id'].");

if($result)

$_SESSION['msg']='پیام حذف شد';

else

$_SESSION['msg']='پیام حذف نشد';

header("location:index.php");

}

?>

توضیحات:

اول به سرور متصل شدیم و بعد به دیتا بیس و بعد هم به جدولی به نام tblname متصل شدیم.

بعد پنجم گفتیم که اگر زمانی روی دکمه submit کلیک شد عملیات زیر را انجام بده.

و بعد به جدول متصل و با id مشخصی اطلاعات  درون جدول را حذف می کند.

برای ایجاد دکمه حذف از کد زیر استفاده میکنیم:

< a href="delete.php?id='.$rows['id'].'">حذف< /a>

 

توجه: برای یادگیری زبان php بهتره که از فیلم های آموزشی استفاده کنید .

 


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:12 بعد از ظهر | نويسنده : احسان صمدی فرد |
برای ارسال اطلاعات از جدول my sql با php از کد زیر استفاده می کنیم.

کد:

session_start();

mysql_select_db("dbname");

mysql_connect("localhost", "root", "password");

if(isset($_GET['submit']))

{

$result = mysql_query("INSERT* FROM tblname (id, name, family) values ('".$_GET['id']."','".$_GET."'['name']."','".$_GET['family']/"')");

if($result)

$_SESSION['msg']='پیام ثبت شد';

else

$_SESSION['msg']='پیام ثبت نشد';

header("location:index.php");

}

?>

توضیحات:

اول به سرور متصل شدیم و بعد به دیتا بیس و بعد هم به جدولی به نام tblname متصل شدیم.

بعد پنجم گفتیم که اگر زمانی روی دکمه submit کلیک شد عملیات زیر را انجام بده.

و بعد به جدول متصل و اطلاعات را درون جدول وارد می کند.

فرم به شکل زیر است...!

کد فرم به شکل زیر است:

< form action="" method="get">

< input type="text" name="id" value="id">

< input type="text" name="name" value="name">

< input type="text" name="family" value="family">

< input type="submit" name="submit" value="submit">

< /form>

توجه: برای یادگیری زبان php بهتره که از فیلم های آموزشی استفاده کنید .

 


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:12 بعد از ظهر | نويسنده : احسان صمدی فرد |
برای خاندن اطلاعات از جدول my sql با php از کد زیر استفاده می کنیم.

کد:

session_start();

mysql_select_db("dbname");

mysql_connect("localhost", "root", "password");

$result = mysql_query("select * from tblname ");

$num = mysql_num_rows($result);

$i = 0;

while ($rows = mysql_fetch_assoc($result))

{

$i++;

echo ''.$rows['id'].''.$rows['name'].''.$rows['family].'';

}

?>

توضیحات:

اول به سرور متصل شدیم و بعد به دیتا بیس و بعد هم به جدولی به نام tblname متصل شدیم.

بعد از متصل گفتیم فیلد های با نام های id,nameو family را برای ما echo کن یعنی نمایش بده.

برای تکرار این فرایند از تابع while استفاده کردیم.

توجه: برای یادگیری زبان php بهتره که از فیلم های آموزشی استفاده کنید .

 


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:12 بعد از ظهر | نويسنده : احسان صمدی فرد |
طبق مستنداتی که درگاه سداد (درگاه پرداخت اینترنتی بانک ملی) ارائه داده ، شما می تونید از تراکنش های خودتون گزارش گیری کنید.
در این مقاله قصد دارم تا روش استفاده از این امکان رو به شما آموزش بدم

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

  1. GetCommitReport : این متد لیست ۱۰۰ تراکنش موفق آخر رو برای شما برمی گردونه
  2. GetCommitReportByPageNumber : این متد هم دقیقا کار متد بالایی رو انجام میده با این تفاوت که لیست تراکنش های رو بر اساس بازه زمانی مد نظرتون بر می گردونه
  3. GetTransactionReportByPageNumber : این متد هم لیست تراکنش ها رو برمی گردونه

خوب برای شروع آموزش متد GetCommitReportByPageNumberرو توضیح می دم :

GetCommitReportByPageNumber($merchant_id,$terminal_id,$timestamp,$fp,$from_date,$to_date,$from_hour,$to_hour,$trace_no,$amount,$order_id,$page)

 

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

پارامترهای این تابع به صورت زیر باید ارسال بشن :
$merchant_id :     شماره مشتری
$terminal_id   :    شماره پذیرنده
$timestamp    :    زمان سرور
$fp :         امضای دیجیتال
$from_date :    تاریخ شروع گزارش به صورت شمسی و به فرمت ۱۳۹۳۰۴۲۹ ( همون تاریخ شمسی خودمون بدون / )
$to_date :    تاریخ پایان گزارش به صورت شمسی و به فرمت ۱۳۹۳۰۴۳۱ ( همون تاریخ شمسی خودمون بدون / )
$from_hour :     ساعت شروع با فرمت ۰۰:۰۰
$to_hour :    ساعت پایان با فرمت ۲۳:۵۹
$trace_no :     شماره پیگیری
$amount :     مبلغ تراکنش
$order_id :     شماره سفارش
$page :         شماره صفحه

خروجی این تابع یه آرایه است که به صورت زیر برای شما برگشت داده میشه :

array(
    XMLReportSchema,                # شمای خروجی xml
    TotalPage,                # تعداد کل صفحات
    GetCommitReportByPageNumberResult        # لیست تراکنش ها به صورت xml
)

چند تا نکته مهم در مورد این متد :

  •  متاسفانه سداد در محاسبه ساعت های شروع و پایان مشکل داره و اگه شما ساعت پایان رو کمتر از ساعت شروع قرار بدید نتیجه ایی رو براتون برنمی گردونه و حتما باید ساعت شروع از ساعت پایان کمتر باشه برای همین من هر زمان که نیاز به استفاده از این متد دارم ساعت شروع رو  ۰۰:۰۰ در نظر می گیرم و ساعت پایان رو ۲۳:۵۹ که برای گزارش گیری مشکلی به وجود نیاد
  •  پارامتر های trace_no , amount و  order_id برای این هستن که شما بخواین از سفارش های خاصی گزارش بگیرید مثلا اگه قصد دارید تا از یک شماره پیگیری خاصی گزارشی بگیرید باید trace_no رو مقدار دهی کنید و یا اگر قصد داشته باشید به دنبال شماره سفارش خاصی بگردید باید order_id رو مقدار دهی کنید
  • حداکثر نتایجی که در هر صفحه به شما برگشت داده میشه ۱۰۰ رکورد هست
  •  بازه زمانی نهایتا باید ۳ روز باشد.

 

 

 

تابع GetCommitReport

این متد هم مثل متد GetCommitReportByPageNumber هست با این تفاوت که تنها ۱۰۰ تراکنش آخر رو برمی گردونه و دیگه خبری از شماره صفحه و تعداد کل صفحات نیست.

GetCommitReport($merchant_id,$terminal_id,$timestamp,$fp,$from_date,$to_date,$from_hour,$to_hour,$trace_no,$amount,$order_id)

پارامتر های این متد به صورت زیر هست
$merchant_id :     شماره مشتری
$terminal_id   :    شماره پذیرنده
$timestamp    :    زمان سرور
$fp :         امضای دیجیتال
$from_date :    تاریخ شروع گزارش به صورت شمسی و به فرمت ۱۳۹۳۰۴۲۹
$to_date :    تاریخ پایان گزارش به صورت شمسی و به فرمت ۱۳۹۳۰۴۳۱
$from_hour :     ساعت شروع با فرمت ۰۰:۰۰
$to_hour :    ساعت پایان با فرمت ۲۳:۵۹
$trace_no :     شماره پیگیری
$amount :     مبلغ تراکنش
$order_id :     شماره سفارش

خروجی این متد به صورت زیر هست

array(
    XMLReportSchema,                # شمای خروجی xml
    GetCommitReportResult            # لیست تراکنش ها به صورت xml
)
که GetCommitReportResult لیست تراکنش ها به صورت xml هست

متد GetTransactionReportByPageNumber

این متد تراکنش های شما در تاریخ خاصی رو به صورت صفحه های ۱۰۰ تایی در اختیار شما قرار میده

 

GetTransactionReportByPageNumber($merchant_id,$terminal_id,$timestamp,$fp,$date,$page)

پارامتر های این متد به صورت زیر هست
$merchant_id :     شماره مشتری
$terminal_id   :    شماره پذیرنده
$timestamp    :    زمان سرور
$fp :         امضای دیجیتال
$date :        تاریخ تراکنش ها به صورت ۱۳۹۳۰۴۳۱
$page:        شماره صفحه

خروجی این متد به صورت زیر هست

array(
    XMLReportSchema,                # شمای خروجی xml
    TotalPage,                # تعداد کل صفحات
    GetTransactionReportByPageNumberResult    # لیست تراکنش ها به صورت xml
)

متد GetTransactionReportWithSettlementDateByPageNumber

این متد تراکنش ها رو براساس تاریخ تسویه به صورت صفحه های ۱۰۰ تایی برمی گرداند

GetTransactionReportWithSettlementDateByPageNumber($merchant_id,$terminal_id,$timestamp,$fp,$date,$date_settle,$page)

پارامتر های این متد به صورت زیر هست
$merchant_id :     شماره مشتری
$terminal_id   :    شماره پذیرنده
$timestamp    :    زمان سرور
$fp :         امضای دیجیتال
$date :        تاریخ تراکنش ها به صورت ۱۳۹۳۰۴۳۱
$date_settle :    تاریخ تسویه به صورت ۱۳۹۳۰۴۳۱
$page:        شماره صفحه

خروجی این متد به صورت زیر هست

array(
    XMLReportSchema,                # شمای خروجی xml
    TotalPage,                # تعداد کل صفحات
    GetTransactionReportByPageNumberResult    # لیست تراکنش ها به صورت xml
)

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

خب متدهای بالا رو که مطالعه کردید.حالا بریم یه نمونه کد هم ببینیم تا همه چی برامون روشن بشه :

_merchant_id.$this->_terminal_id.$this->_transactionKey;
        $hash = strtoupper(md5($string));
        $len = strlen($hash);
        $i = 0;
        $fp = '';
        while($i < $len) {
            $fp.=substr($hash,$i,2).'-';
            $i += 2;
        }
        $fp = substr($fp,0,-1);
        return $fp;
    }

    /**
      *  دریافت کانکشن وب سرویس درگاه بانکی
     * @return nusoap_client
     * @throws Exception
     */
    private function getClient() {
        $client = new nusoap_client($this->_url,'wsdl');
        if($client !== FALSE)
            return $client->getProxy();

        throw new Exception('در اتصال به وب سرویس بانک خطایی رخ داده است.');
    }

    /**
      *  دریافت لیست تراکنش های موفق
     * @param string $from    تاریخ شروع 
     * @param string $from_hour    ساعت شروع 
     * @param string $to    تاریخ پایان
     * @param string $to_hour    تاریخ پایان
     * @param int $page    شماره صفحه
     * @return array
     */    
    public function commit_transactions($from,$from_hour,$to,$to_hour,$page = 1) {
        $client = $this->getClient();
        $time = $client->CalcTimeStamp();    # دریافت زمان سرور سداد
        $time = $time['CalcTimeStampResult'];    

        $result = $client->GetCommitReportByPageNumber($this->_merchant_id,$this->_terminal_id,$time,$this->generate_fp($time),$from,$to,$from_hour,$to_hour,NULL,NULL,NULL,$page);
        
        # چون خروجی به صورت xml هست اول باید اون رو parse کنیم تا بتونیم ازش در پروژه مون استفاده کنیم
        $output = array();        
        if(isset($result['GetCommitReportByPageNumberResult'])) {
            $xml = simplexml_load_string($result['GetCommitReportByPageNumberResult']);
            foreach($xml->Transaction as $transaction) {
                $output['transaction'] = objectToArray($transaction);
            }
            $output['total_page'] = $xml['TotalPage'];
        }
        
        return $output;
    }

    /**
      *  دریافت لیست تراکنش های یک تاریخ خاص
     * @param string $date    تاریخ
     * @param int $page    شماره صفحه
     * @return array
     */    
    public function transactions($date,$page = 1) {
        $client = $this->getClient();
        $time = $client->CalcTimeStamp();    # دریافت زمان سرور سداد
        $time = $time['CalcTimeStampResult'];    

        $result = $client->GetTransactionReportByPageNumber($this->_merchant_id,$this->_terminal_id,$time,$this->generate_fp($time),$date,$page);
        
        # چون خروجی به صورت xml هست اول باید اون رو parse کنیم تا بتونیم ازش در پروژه مون استفاده کنیم
        $output = array();        
        if(isset($result['GetTransactionReportByPageNumber'])){
            $xml = simplexml_load_string($result['GetTransactionReportByPageNumber']);
            foreach($xml->InternetTransaction as $transaction) {
                $output['transaction'] = objectToArray($transaction);
            }
            $output['total_page'] = $xml['TotalPage'];
        }
        
        return $output;
    }

    /**
      *  دریافت لیست تراکنش ها براساس تاریخ تسویه
     * @param string $date    تاریخ تسویه
     * @param int $page    شماره صفحه
     * @return array
     */    
    public function transactions_settle($date,$page = 1) {
        $client = $this->getClient();
        $time = $client->CalcTimeStamp();    # دریافت زمان سرور سداد
        $time = $time['CalcTimeStampResult'];    

        $result = $client->GetTransactionReportWithSettlementDateByPageNumber($this->_merchant_id,$this->_terminal_id,$time,$this->generate_fp($time),$date,$page);
        
        # چون خروجی به صورت xml هست اول باید اون رو parse کنیم تا بتونیم ازش در پروژه مون استفاده کنیم
        $output = array();        
        if(isset($result['GetTransactionReportWithSettlementDateByPageNumberResult'])){
            $xml = simplexml_load_string($result['GetTransactionReportWithSettlementDateByPageNumberResult']);
            foreach($xml->InternetTransaction as $transaction) {
                $output['transaction'] = objectToArray($transaction);
            }
            $output['total_page'] = $xml['TotalPage'];
        }
        
        return $output;
    }

}

/**
 * تبدیل آبجت به آرایه
 * @param object $object
 * @return array
 */
function objectToArray( $object )
{
    if( !is_object( $object ) && !is_array( $object ) ) {
        return $object;
    }
    if( is_object( $object ) ) {
        $object = get_object_vars( $object );
    }
    return array_map( 'objectToArray', $object );
}


$report = new ReportSadad();
echo '
&#039;;
print_r($report-&gt;transactions(&#039;13930431&#039;,1));
print_r($report-&gt;commit_transactions(&#039;13930428&#039;,&#039;00:00&#039;,&#039;13930430&#039;,&#039;23:59&#039;,1));
print_r($report-&gt;transactions_settle(&#039;13930431&#039;,1));

echo &#039;
'; ?>

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

هر سوالی داشتید من در خدمتم

موفق باشید

 


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:11 بعد از ظهر | نويسنده : احسان صمدی فرد |
کی از دغدغه های برنامه نویسان وطراحان وب و کلا کسانی که سایت و یا کسب و کار اینترنتی دارن ارسال ایمیل انبوه ، حالا یا برای تبلیغات یا برای ارتباط با اعضای سایت شون هست.خب همینطور که میدونید شرکتایی هستن که با داشتن بانک ایمیل یه مبلغی از شما میگیرن و تعدادی ایمیل برای شما ارسال میکنن.مشکلی که وجود داره اینه که اگه شما بخواین با سرویسهای gmail یا yahoo ایمیل رو ارسال کنید اولا محدودیت ارسال دارید دوما ممکنه خیلی از ایمیلهاتون اسپم بشه. حالا چه بهتر که خودمون بتونیم این ارسال رو انجام بدیم و تا حدود زیادی در هزینه صرفه جویی کنیم.

سرویسی که تازه باهاش آشنا شدم سرویس Mailgun.com که یه سرویس ارسال ایمیل مخصوص برنامه نویساست.بعد از ثبت نام در این سایت به شما اجازه ارسال ایمیل با استفاده از api های خودش رو میده.اگر سرویس تون رایگان باشه درماه میتونید ده هزار تا ایمیل بفرستید.بقیه قیمتاش هم توی سایتش هست.

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

خب اول باید توی این سایت ثبت نام کنید.بعد از ثبت نام ایمیلتون رو تایید کنید.وقتی وارد سایت میشید توی کنترل پنل سایت یه چیزی شبیه عکس زیر میبینید.

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

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

دانلود کتابخانه Mailgun

فایلی که دانلود کردید بعد از اینکه از حالت فشرده خارجش کردید یه پوشه داره به نام vendor

به فایل index.php کناراین پوشه قرار بدین.و کدهای زیر رو داخلش بذارید :

require 'vendor/autoload.php';
 use MailgunMailgun;
$mg = new Mailgun("key-example");
 $domain = "example.com";
# Now, compose and send your message.
 $mg->sendMessage($domain, array('from' => 'bob@example.com',
 'to' => 'sally@example.com',
 'subject' => 'The PHP SDK is awesome!',
 'text' => 'It is so simple to send a message.'));

 

دقت کنید که به جای key-example اون api کدی که توی تصویر مشخص کردم رو کپی کنید. و در قسمت $domain هم مقدارش رو برابر با مقداد domain که بازم توی عکس (سمت راست تصویر) با قرمز مشخص کردم قرار بدید.
حالا با اجرای برنامه بالا یه ایمیل به ایمیلی که قسمت to نوشتین ارسال میشه.
خب تا اینجای کار که کار خاصی انجام ندادیم و مثال خودش بود.
اگر بخوایم یه ایمیل به صورت HTML ارسال کنیم باید به صورت زیر عمل کنیم :

$mg->sendMessage($domain, array('from'    => 'domain@example.com', 
                                    'to'      => 'phpro.ir@gmail.com', 
                                    'subject' => 'Hi', 
                                    'html'    => '
                                        

Hello Dear

                                    ',                                     ));

حالا اگر بخوایم به تعداد زیادی ایمیل بدیم دو راه داره.
اول اینکه کدی رو که بالا نوشتیم رو در یک حلقه foreach بذاریم.که زیاد فکر خوبی نیست.
مثال :

$emails = file('emails1.txt');
foreach($emails as $email){
    
    $mg->sendMessage($domain, array('from'    => 'exapmle@domain.com', 
                                    'to'      => trim($email), 
                                    'subject' => 'Hi', 
                                    'html'    => '
                                        

Hello Dear

                                    ',                                 )                     );     }

راه دوم اینه که ایمیل هارو به در قسمت bcc ایمیل بنویسیم و ارسال کنیم.مثل زیر

	$emails = file('emails1.txt');
	$emails = array_map('trim',$emails);
	$mg->sendMessage($domain, array('from'    => 'exapmle@domain.com', 
									'to'      => 'exapmle@domain.com', 
									'subject' => 'Hi', 
									'bcc'	  => implode(',',$emails) ,
									'html'    => '
										

Hello Dear

', ));

دقت کنید که توی این روش حتما قسمت to باید یه ایمیل بنویسید وگرنه بهتون پیغام خطا میده.

اگر شما هم سرویس ایمیل خوبی میشناسین به بقیه معرفی کنید.


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:11 بعد از ظهر | نويسنده : احسان صمدی فرد |
بعد از چند وقت تصمیم گرفتم که نسخه جدید فریم ورک آرتمیس رو بذارم برای استفاده شما.توی این نسخه تغییرات خیلی زیاد بوده. توی این پست یه نگاه اجمالی به این نسخه میندازیم.

اول بریم معرفی :

این فریم ورک رو من ابتدا در سال ۹۱ شروع کردم و بعد از حدود ۵ ۶ ماه یه نسخه ازش اومد بیرون.خیلی از دوستان به بنده لطف داشتن و با نظراتشون به من کمک کردن . بعد از اون بنا به دلایلی دیگه روی این فریم ورک کار نکردم تا اینکه برای کار خودم و پروژه هایی که میزدم فریم ورک آرتمیس رو بهینه سازی کردم.

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

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

بر حسب نیازی که داشتم توی این نسخه قابلیت چند زبانه بودن رو هم گذاشتم.

یه قسمت admin هم برای این فریم ورک در نظر گرفتم که برای اینه که قسمت ادمین سایت از بقیه قسمتها جدا باشه.

از Named parameter استفاده کردم توی این نسخه.یعنی اینکه آدرسها به صورت زیر باید باشه ( که البته قابل تغییره )

localhost/posts/view/id/1

در اکثر فریم ورکها به صورت زیره

localhost/posts/view/1

یعنی اون id نیست.البته میتونید توی config تعیین کنید که آیا به این صورت باشه یه به صورت معمولی .

 

فریم ورک آرتمیس میتونید رو از لینک زیر دانلود کنید :

دانلود فریم ورک آرتمیس

بعد از دانلود و اکسترکت توی پوشه library باید کتابخانه زند قرار بگیره.  کتابخانه زند رو هم دانلود کنید :

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

سپس پوشه Zend رو در پوشه library کپی کنید.

ساختار پوشه های باید به صورت زیر باشه :

artemis

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

موفق باشید


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:11 بعد از ظهر | نويسنده : احسان صمدی فرد |
قبل از هر چيز يه نگاه كوتاه و جزئي بر تاريخچه php مي كنيم. نويسنده php اولين بار اين زبان رو براي كار هاي شخصي خودش و اثري براي Resume كاريش كه بايد تحويل مي داده نوشته بوده. اولين بار اين زبان بصورت يك CGI در زبان Perl نوشته شده بود. ولي سروري كه روش php نصب شده بود يكسري مشكل در اجراي صفحات داشت. به همين دليل php رو دوباره بازنويسي كرد و با زبان C نوشت. در همين اثنا بعضي از كاربران سرور مربوطه هم شروع به كار با نسخه نوشته شده و درخواست به افزودن feature هاي بيشتر كردند. اين روال ادامه پيدا كرد تا اولين نسخه جمع و جور شده php رو همراه با راهنما، Mailing-List و FAQ بيرون داد. اولين نام اين زبان Personal Home Page Tools بوده كه در آينده به Personal Home Page Construction Kit تغيير كرد. در همين مدت كه داشت php پامي گرفت نويسنده اون شروع به نوشتن يه CGI ديگه براي كاركردن با بانك هاي اطلاعاتي و ارسال SQL Query كرد. خوب بقيه تارخچه باشه براي بعد حالا به خود php بپردازيم ;-).


قبل از هرچيز پيشنهاد مي كنم اديتور يا بهتر بگم IDE پرقدرت Zend رو دريافت كنيد. واقعا كارتون رو در كد نويسي راحت ميكنه و همون جا هم مي تونيد اجراش كنيد.

خوب تا الان نصب php رو گفتيم و گفتيم كه 2 جور php رو ميشه نصب كرد. يكي بصورت CGI و ديگري بصورت يك Module براي سرورتون. مطلبي كه جاش بود ذكر كنم يه توضيح كوچكي براي فرق اين دو بود.زماني كه php بصورت يك CGI برروي سرور نصب ميشه، هرگاه كه سرور به فايل هاي php بر مي خوره php رو اجرا ميكنه و اين فايل رو بهش ارسال ميكنه. ولي وقتي بصورت Module براي سرور نصب ميشه، php جزئي از خود سرور ميشه و زماني كه سرور شروع به كار ميكنه هميشه هست و منتظر صفحات و اجراشون هست. طبيعتا معلومه كه نصب بصورت Module بهتر از نصب بصورت CGI هست. چون اگر بصورت CGI نصب بشه با هر Request بايد php اجرا بشه و بعد هم بسته بشه! البته وقتي php بصورت Module نصب ميشه به اين معني نيست كه از CGI ديگه نشه استفاده كرد. يه موقع ها ميشه كه ما لازم داريم بصورت CGI از php استفاده كنيم. به عنوان مثال مي خواهيم سرور ما هر هفته توسط يكي از اسكريپت هاي نوشته شده ما از Database ما يك Backup بگيره. براي انجام اين منظور ما اسكريپت رو بصورت جداگانه و CGI اجراش مي كنيم. خيلي حاشيه رفتم، حالا بيايم سر اصل مطلب.
اسكريپت هاي نوشته شده php همگي بايد در فايل هاي متني ساده ويا به عبارتي بهتر بصورت UNIX-Style نوشته شوند. به عنوان مثال يك فايل php هيچ وقت نبايد با Word Pad يا MS-Word ساخته شود! چون موقع اجرا php رو دچار مشكل ميكنه. در محيط Windows ساده ترين اديتور براي انجام اينكار Note-Pad هست. اگر از ويندوز 2000 يا XP استفاده مي كنيد كه چه بهتر چون مي تونيد به راحتي يك فايل php و با كدپيج Unicode ذخيره كنيد. فايل هاي php معمولا از پسوند php. تشكيل مي شوند. زماني كه browser شما يك درخواست به سرور شما ميفرستد براي مشاهده يك فايل php، سرور شما فايل مربوطه رو به php Engine ميفرسته تا فايل اجرا بشه. كار php Engine اجراي فايل php شما و ارسال نتيجه بصورت HTML به browser شما هست. php يك زبان اسكريپت نويسي سمت سرور است. يعني اسكريپت شما در سرور اجرا شده و نتيجه براي شما ارسال مي شود.
دستورات php رو ميشه به طرق مختلف نوشت. در اينجا به چند صورتش اشاره مي كنم.

بصورت SGML


< ?
...
? >

بصورت XML


< ? php
...
? >

بصورت اسكريپت هاي نوشته شده در فايل هاي HTML


< script language="php" >
...
< /script >

بصورت تگ هاي ASP، البته در اين حالت بايد در فايل php.ini تعريف كنيد كه اين حالت رو بشناسه. براي اينكار asp_tags =off رو به on تغيير بديد. يادتون نره Apache ياهر سروري كه داريد رو restart كنيد يا تغييرات رو مشاهده كنيد. نحوه نوشتن ASP Style هم اينگونه هست:

< %
...
% >

من توي نوشته هام فقط بصورت XML مي نويسم. مابين اين تگ ها هر چند تا دستور كه بخواهيم مي تونيم بنويسيم. هر دستوري كه تموم ميشه بايد بعدش اين علامت رو بزاريم ";" هرگاه Engine زبان php به اين ويرگول نقطه دار رسيد فرض ميكنه كه دستور شما تموم شده. اگر در آخر هر دستور خود اينو نزاريد برنامتون با مشكل برميخوره. در اينجا يك مثال مي زنم كه نمايانگر پايان يك دستور هست.


< ? php
echo ( 14 * 5);
? >

اين عبارت دقيقا مساوي اين عبارت هست:


< ?php
echo (
14
*
5
);
? >

php تا زماني كه به ";" نرسه دستور رو تموم شده فرض نميكنه. هردوي اين عبارات حاصل ضرب 14 در 5 رو برروي صفحه نشون مي دهند.
گاهي اوقات ميشه كه ما مي خواهيم خطي يا خطوطي رو در فايل php خود غير فعال كنيم تا اجرا نشن. يا گاهي اوقات هست كه ما مي خواهيم در كد هاي خود مطلبي رو بنويسيم. مثلا مي خواهيم بگيم اين كد فلان كار رو انجام ميده. اين كار رو مي توان به 3 صورت انجام داد. راحت ترين راه براي انجام اين كار گذاشتن 2 تا slash " //" در آغاز هر خط است. به عنوان مثال ما مي خواهيم يه نوشته روي صفحه نمايش بديم و در خود كد هم مي خواهيم توضيح بديم كه اين چيه:


< ? php
echo ( 14 * 5); // This will show the result of 14 times 5
? >

اگر // رو در اول خط ميزاشتيم، اين دستور ديگه اجرا نميشد و به اصطلاح Ignore ميشد. به جاي // مي توان از # هم استفاده كرد. ولي گاهي اوقات هست كه شما مي خواهيد چند خط رو غير فعال كنيد. براي انجام اين كار نوشته هارو داخل /* ...*/ قرار مي دهيم. به عنوان مثال هر اسكريپتي كه نوشته ميشه، در آغاز فايل يه توضيح كوتاهي از اسكريپت نوشته شده، مي نويسند.


< ?php
/* This script will encrypt your string
using function md5()*/
? >

به همين روال اگر شما يكسري كد جاي اين نوشته ها قرار بديد، كد هاي شما Igone ميشن و اجرا نميشن.
خوب حالا بپردازيم به نحوه نمايش عبارات برروي صفحه! نوشته هاي متني و عبارات متني رو ميشه به 3 مدل نوشت و نمايش داد. نحوه اول بصورت double quote هست. اگر شما نوشته هاي خود رو درون "..." قرار بدهيد، زمان اجرا، php متن شمارو تا تگ هاي HTML و متغير هاي استفاده شما رو پيدا كنه و نتيجه رو برروي صفحه نشون بده. در زبان php نوشته هاي ما توسط دستور echo نمايش داده مي شوند. به اين مثال براي نمايش متن هايي كه درون double quote هستند دقت كنيد.


< ?php
echo ("salam");
? >

در اين مثال چون كلمه salam بين تگ هاي [ b ] هست بصورت bold يا توپور نمايش داده ميشه. بنابراين نتيجه salam مي باشد. در ادمه نوشته مي بينيد كه اگر يك متغير هم نامش دورن "..." قرار داده شده باشده، مقدار يا ارزش اون در صفحه نشون داده ميشه.
نحوه بعدي نمايش عبارات، بصورت single quote هست. يعني نوشته هاي ما ميان '...' قرار مي گيرند. وقتي نوشته هاي شما ميان '...' قرار بگيرند، ديگه توسط php مورد بررسي قرار داده نميشه كه آيا متغيري ميانشون هست يا نه:


< ?php
echo ('salam');
? >

حاصل اين دستور عبارت salam درست مانند قبلي برروي صفحه است. ولي اگر ما متغيري در اين نوشته قرار بديم، مقدار و ارزشش نشون داده نميشه و فقط اسمش نشون داده ميشه. آخرين روش براي نمايش عبارات استفاده از Here Document است كه من تا حالا زياد نديدم جايي استفاده داشته باشه. در اين روش هم اگر شما از دستورات html استفاده كنيد، نوشته هاي شما برروي صفحه به همان صورت نشون داده مي شوند. به عنوان مثال:


< ?php
$hereText=<< salam

khoobi?
chetori?
end_delimiter;
echo "
";
echo($hereText);
? >

در متغير hereTex$ ما اين نوشته هارو ذخيره مي كنيم. هنگام نمايش برروي صفحه ما اين نتايج رو ميگيريم:


salam
khoobi?chetori?

كلا زياد از Here Document استفاده نميشه. اعداد رو هم ميشه بصورت عددي كه هستند نمايش بديم و هم بصورت مقادير آن ها در سيستم هاي Octal و Hexa. به عنوان مثال اين عبارات همگي عدد 110 رو نشون مي دهند:


< ? php
echo (110);
echo (0x6e);
echo (0377);
? >

براي نمايش اعداد Hexadecimal بايد در شروع آن 0x و براي نمايش اعداد Octal بايد درشورع آنها يك صفر قرار دهيم.

يه زنگ تفريح ;-). براي تبديل اعداد از عدد معمولي به سيستم Hexa از تابع ()dechex و براي تبديل از عدد معمولي به سيستم Octal از تابع ()decoct استفاده مي كنيم. همين روال رو براي تبديل از hexa به decimal و octal به decimal ميشه انجام داد با توابع ()hexdec و ()octdec.

در برنامه نويسي ما هميشه با مقداري به نام بولين (Boolean) سروكار داريم. متغيري كه از نوع بولين تعريف ميشه يا مقدار True ميگيره يا False. ميشه اينو به يه چراغ تشبيه كرد. يه چراغ يا خاموشه يا روشن. وقتي روشنه True هست وقتي هم كه خاموش هست False.
php هم مانند تمامي زبان هاي برنامه نويسي ديگه از انواع مختلف متغير ها پشتيباني مي كنه. در اين زبان متغير ها با علامت $ نامشون شروع ميشه. به عنوان مثال اگر ما بخواهيم متغيري داشته باشيم كه درونش نامي رو نگهداري كنيم مي تونيم name$ تعر&

عملگرهاي string:
اولين چيزي كه بايد بگم اين هست كه دستور echo از ادامه نوشته شما، نوشته اي رو نشون ميده. دقيقا همانند كد هاي HTML. تا شما از
استفاده نكنيد، خط شما عوض نميشه و به خط بعدي نميره. echo هم كارش نمايش تمامي نوشته هاي شما همراه با تگ هاي html شما هست. مهمترين عملگري كه براي رشته هاي متني (string ها) به كار ميره، كاراكتر نقطه (.) هست. اين كاراكتر رشته هاي متني رو به هم وصل ميكنه. به اين عملگر Dot Operator ميگن. به عنوان مثال شما مي خواهيد هركس كه وارد سيستم كاربري سايت شما ميشه بهش يه خوش آمد گويي همراه نامش گفته بشه. فرض مي كنيم در متغير UserName$ نام كاربر قرار مي گيره و در مقدار ثابت WELCOME هم عبارت " ,Welcome to our site" قرار ميگيره. بنابر اين ما بايد عبارت خوش آمد رو به نام كاربر وصل كنيم. به مثال زير براي انجام اين كار دقت كنيد:


< ?php
define("WELCOME","Welcome to our site, ");
$UserName = "Milad";
echo WELCOME . $UserName;
? >


وقتي برنامه ما اجرا ميشه عبارت Welcome to our site, Milad برروي صفحه نمايش داده ميشه. بخاطر داشته باشيد كه مقدار هاي ثابت رو اگر در "..." قرار دهيد، php مانند متغير ها به آنها رجوع نميكنه. مثال بالا رو براي متغير ها هم صدق ميكنه، به اين معنا كه ما چند متغير داشته باشيم و همه رو بصورت رشته اي به يكديگر وصل كنيم. به عنوان مثال در برنامه ما اسم مردم در 3 تا متغير ثبت ميشه، بصورت FirstName$ و MiddleName$ و LastName$. حالا مي مي خواهيم متغيري درست كنيم به نام Compeltename$ و توش هر 3 اين متغير ها رو به يكديگر وصل كنيم:


< ?php
$FirstName = "Milad";
$MiddleName = "farid";
$LastName = "Sina";
/*---------------------*/
$CompleteName = $FirstName." ".$MiddleName." ".$LastName;
echo $CompleteName;
? >

در اينجا توسط نقطه، همون عملگر Dot Operator اين 3 متغير رو به يكديگر وصل مي كنم. همچنين چون مي خوام بين كلمات فاصله باشه، فاصله هم به اين صورت" " بينشون مي دهم. خروجي برنامه Milad farid Sina خواهد بود. اگر اون فاصله هارو نمي دادم و دستور رو مانند زير مي نوشتم در اين صورت خروجي برنامه عبارت MiladfaridSina بود.

$CompleteName = $FirstName . $MiddleName . $LastName;

حالا جاش هست بعضي از توابعي كه براي كاربا String ها خيلي به كارمون مياد رو بگيم. در اين نوشته به Reqular Expression ها نمي پردازم چون جاش نيست، ولي در آينده بهشون مي رسيم.

تابع ()substr:

string substr ( string string, int start [, int length])

كار اين تابع جداكردن قسمتي از متن ما مي باشد. به اين صورت كه اين تابع رشته متني را مي گيرد و مي تواند قسمتي از متن رو براي ما جدا كنه. اين تابع 3 تا پارامتر ميگيره. پارامتر اول رشته متن اوليه مي باشد، پارامتر دوم Position حرفي هست كه مي خواهيم از اون به بعد جدا كنيم و پارامتر سوم هم طول رشته متني هست كه مي خواهيم جدا بشه. اگر پارامتر سوم رو مشخص نكنيم اين تابع ادامه متن رو برامون جدا مي كنه. شايد يكم بد توضيح داده باشم ولي توي مثال خوب جا مي افته:

نتيجه دستور
m4s.net (از حرف 4 به بعد در متغير result$ ذخيره مي شود) $result = substr("www.m4s.net",4);

m4s (از حرف 4 به بعد 3 حرف در متغير result$ دخيره مي شود) $result = substr("www.m4s.net",4,3);

تابع ()strpos

int strpos ( string haystack, string needle [, int offset])

كار اين تابع دقيقا برعكس تابع ()substr مي باشد. يعني شما يك عبارتي رو در متني جستجو مي كنيد و تابع به شما Position اولين حرف رو ميده. اين تابع اولين نتيجه اي كه پيدا ميكنه رو نشون ميده بنابر اين اگر عين همون عبارت رو بازم داشته باشيد نشون نخواهد داد. اين تابع 3 تا پارامتر ميگيره. پارامتر اول رشته متن اوليه ما مي باشد. پارامتر دوم عبارتي هست كه در رشته متن پيدا ميشه. به خاطر داشته باشيد كه اگر عبارت پيدا نشد تابع مقدار False به ما برميگردونه! و اما پارامتر سوم براي شروع جستجو مي باشد. اگر عددي را مشخص نكنيد از اول رشته متني عبارتي جستجو ميشه و اگر عددي رو مشخص كنيد، از اون Position به بعد جستجو انجام ميشه. به مثال هاي زير دقت كنيد

نتيجه دستور
عدد 4 در متغير result$ ذخيره مي شود. از حرف 4 به بعد عبارت m4s شروع مي شود $result = strpos("www.m4s.net","m4s");

عدد 3 در متغير result$ ذخيره مي شود. چون بعد از حرف 4، عبارت ما يافت شده $result = strpos("www.m4s.net",".");

عدد 7 در متغير result$ ذخيره مي شود. از حرف 5 به بعد شروع ميشه به جستجوي براي پيدا كردن ".". Position نقطه بعد از حرف 7 مي باشد. $result = strpos("www.m4s.net",".",5);

تابع ()trim
كار اين تابع حذف تمامي فواصل آغاز و پايان رشته متني مي باشد. به عنوان مثال اگر ما چنين رشته متني داشته باشيم " Milad "، اين تابع تمامي فاصله هاي آغاز و پايان رشته رو حذف ميكنه. به عنوان مثال:

< ?php
$name = " Milad ";
$name =trim($name);
? >

در اين مثال اول در متغير name$ عبارت " Milad " رو ذخيره كرديم، سپس توسط تابع ()trim تمامي فاصله هاي اضافه حذف كرديم و دوباره در متغير name$ ذخيرش كرديم.

توابع ()char و ()ord
تابع ()char كد ASCII حرفي را ميگرد و حرف مربوطه رو بر ميگردونه. و تابع ()ord هم دقيقا بر عكس همين كار رو انجام ميده. يعني كه حرف رو ميگره و كد اسكي اون رو براي ما بر مي گردونه:


< ?php
echo ord("©");
echo chr(169);
? >

عبارت اول كد اسكي © كه همون 169 هست رو نشون ميده، و عبارت دوم هم حرف مربوطه به كد 169 كه همون علامت© رو نشون ميده.

تابع ()strlen
كار اين تابع برگردوندن طول يك رشته متني مي باشد. به عنوان مثال اگر عبارت "M4S.Net" رو به اين تابع بدهيم، تابع به ما عدد 7 رو بر مي گردونه. يه مثال ديگه هم نوشتم:

< ?php
echo strlen("www.m4s.net");
? >

وقتي اين اسكريپت اجرا ميشه، عدد 11 خروجي برنامه مي باشد.

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


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:2 بعد از ظهر | نويسنده : احسان صمدی فرد |

آموزش پی اچ پی : قسمت اول

پی اج پی چیست ؟

پی اچ چی PHPمخفف پیش پردازنده ابر متن(hypertext preprocessor ) یک زبان سمت سرورServer side است. یعنی زمانی که بازدیدکننده یک صفحه وب را فراخوانی می کند ، سرور دستورات پی اچ پی را پردازش کرده و نتیجه حاصله را برای مرورگر درخواست کننده ارسال می نماید .

فایلهای پی اچ پی شامل دستوراتی است که درون سرور اجرا می شود به علاوه متن و برچسب های اچ تی ام الHTML که معمولا همراه این دستورات می باشد .ضمنا پی اچ پی یک زبان برنامه نویسی متن باز Open Source و بدون وابستگی به محیط اجرایی cross-platform می باشد . پی اچ پی بر روی ویندوز ان تیNT و انواع نسخه های یونیکسUnix قابل اجرا است .

وقتی که شما آدرس یک صفحه URL پی اچ پی را درون نوار آدرس Address Barمرورگر خود وارد می نمایید و یا بر روی لینکی درون یک صفحه وب کلیک می کنید در واقع از یک برنامه وب سرور Web Server نصب شده بر روی یک کامپیوتر در جایی از اینترنت تقاضا می نمایید که فایل را برای مرورگر شما ارسال کند.اگر فایل مورد نظر ، یک فایل معمولی اچ تی ام ال باشد ،فایل درون سرور کاملا شبیه ان جیزی است که مرورگر شما دریافت می کند . بعد از دریافت فایل ، مرورگر شما محتوای آن را که می تواند ترکیبی از متن تصویر و فایلهای صوتی باشد را نمایش می دهد . در مورد صفحات پی اچ پی ، همان اتفاق می افتد با این تفاوت که یک پردازش اضافی قبل از ارسال فایل انجام می شود .وب سرور قبل از ارسال صفحه ، تمام دستورات پی اچ- پی را اجرا نموده سپس فایل مورد نظر را برای مرورگر ارسال می نمایید .

قواعد نوشتاری پی اچ پی PHP Syntax:

قواعد نوشتاری پی اچ پی مانند زبان برنامه نویسی سیC و پرلPerl می باشد . شما نیازی به تعریف مغییر Variable قبل از استفاده از آن ندارید و ساختن آرایه Array درون این زبان بسیار آسان است .پی اچ پی از برنامه نویسی شی گرا OOP هم تا حدود خوبی پشتیبانی می کند . همچنین پی اچ پی می تواند با حوزه وسیعی از سیستم های دیگر درون صفحه وب ، پایگاه داده ODBC و سایر زبان های برنامه نویسی مثل جاوا JAVA ارتباط بر قرار کند . پی اچ پی درون صفحه وب قرار داده می شود و نیاز به محیط خاصی برای توسعه آن نیست. شما می تواند دستورات پی اچ پی را با PHP?> شروع نموده و با

چه کارهایی با پی اج پی می توان انجام داد ؟

کارهای زیادی هست که با پی اچ پی می توان انجام داد شما می توانید تاریخ ، ساعت و سایر اطلاعات را با روشهای متفاوتی توسط پی اچ پی نمایش دهید . فرمها را توسط پی اچ پی بررسی نمایید و از بازدید کنندگان سایت خود بخواهید اطلاعاتی را برای شما ارسال نمایند . با پی اچ پی می توانید به 19 نوع مختلف پایگاه داده دسترسی پیدا نموده واطلاعات ارسال شده از فرم کاربران را درون پایگاه داده ها را تغییر دهید. همچنین می توانید پست الکترونیکیEmail ارسال نمایید و گروه های خبری Newsgroup ایجاد نمایید .

 

آموزش پی اچ پی : قسمت دوم

پی اج پی چه کاری برای شما انجام می دهد ؟

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

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

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

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

پی اچ پی ارسال ایمیل را از طریق سایت ، کار با گروه های خبری و برقرار ارتباط با دیگر سایتها را آسان نموده است . و به راحتی می توانید اطلاعاتی از سایت دیگر دریافت نموده و یا برای سایت دیگری ارسال نمایید پی اج پی همچنین می تواند ارتباطی با سایر زبانهای سمت سرور نظیر جاوا بر قرار نماید و از پروتوکل هایی نظیر COM یا HTTP استفاده کند. پی اچ پی راه حلهایی برای انجام کارهای مختلف از ایجاد فایل pdf تا تولید خروجی XML دارد

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


برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:2 بعد از ظهر | نويسنده : احسان صمدی فرد |

پی اچ پی

پی اچ پی: پیش پرداز ابرمتن یک زبان برنامه نویسی تعبیه شده به اچ است ، آن را به تابعی. این نرم افزار صفحات وب که می توانید تغییر دهید به عنوان مثال شما را. آنها صفحات وب پویا. مثلا, “می گویند که آنها می توانند چیزهای مختلفی بسته به اینکه چگونه یک فرد با استفاده از صفحه وب.”

مزایای استفاده از پی اچ پی

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

چرا پی اچ پی بهتر است از ASP.net?

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

  • پی اچ پی یک زبان نسبتا ساده برای استفاده از ASP.net است. ابتدا, پی اچ پی در زبان برنامه نویسی سی نوشته شده بود به جای مجموعه ای از اسکریپت ها در پرل. که دلیل آن این است که چرا برنامه نویسی در پی اچ پی ساده باقی می ماند و حتی امروزه. بسیاری از توسعه دهندگان خود را پیدا می شود بیشتر در سهولت با طبیعت کاربر پسند از پی اچ پی می آید وقتی که به برنامه نویسی.
  • پی اچ پی است دارای پشتیبانی بسیار بهتری برای سیستم مدیریت پایگاه داده, خروجی. در واقع, بستر های نرم افزاری بسیار محبوب وبلاگ نویسی, ورد پرس با استفاده از ترکیب بسیار خوبی از برنامه نویسی پی اچ پی بر روی خروجی برای سیستم مدیریت محتوای آن, که شامل اطلاعات مربوط به صدها هزار نفر از پستهای وبلاگ هر روز. یکی دیگر از خدمات بسیار محبوب است و غالبا به روز شده استفاده می کند که ترکیبی از پی اچ پی و خروجی جوملا. ASP.net همچنین می توانید خروجی زیر پشتیبانی, اما پی اچ پی است به اتفاق آرا مورد ستایش قرار داد, توسط توده ها و طبقات به طور یکسان, برای حمایت از خود بزرگ برای این سیستم مدیریت پایگاه داده.
  • برنامه نویسی که استفاده از هر دو پی اچ پی و همچنین حفظ ASP.net نظر خود را که پی اچ پی بهتر است برای پشتیبانی جاسازی شده با یکی دیگر از سیستم مدیریت پایگاه داده, مشاهده. SQLite. SQLite به عنوان یک سیستم مدیریت پایگاه داده رابطه ای توصیف کرد و از آن است که در یک کتابخانه برنامه نویسی سی شامل, پی اچ پی می تواند پشتیبانی بهتری را ارائه دهد.
  • وقتی که می آید برای حمایت از, پی اچ پی برنده بیش از ASP.net. دلیل اصلی این امر این است که پی اچ پی است. ارتباطات. از این رو, حمایت می توانند آزادانه از سراسر جهان. در اغلب موارد, رفع پی اچ پی ساخته می شوند بلافاصله. بیشترین پشتیبانی پی اچ پی را می توان مستقیما آنلاین با انجام یک جستجوی ساده در اینترنت یافت.
  • پی اچ پی موتورلا زبان برنامه نویسی است, که به معنی آن آزاد است هر کسی برای استفاده. برنامه نویسان می توانند برنامه های پی اچ پی تقریبا بدون هیچ هزینه توسعه, چون پی اچ پی می باشد به رایگان استفاده کنید. ASP.net آزاد است نه بیش از حد, اما پسوند آن در دسترس هستند به صورت رایگان در سیستم عامل ویندوز, به سمت بالا از 98. از این رو, ASP.net در دسترس است به کاربران ویندوز هنگامی که آن را بخرم؟. قرار می دهد که کمی محدودیت در استفاده از آن.
  • ASP.net به حافظه در کد باینری وارد. پس, وقتی ASP.net برای برنامه نویسی استفاده می شود, آشکار است که آن را بسیار طولانی تر هم طول می کشد تا پروسه از سال نیاز به کد قابل بازیابی از حافظه. However, پی اچ پی می باشد را به حافظه مثل ASP.net نیست وارد شده است. آن است که در زمان اجرا تفسیر. که �اما�ین دلیل برنامه نویسی پی اچ پی منجر به سرعت بهتر و حتی بهره وری است. However, باید گفت که هر دو پی اچ پی و ASP.net می توانید در سرعت های عالی و کارایی اجرا زمانی که آنها رمزی ماهرانه.
  • برای اجرای ASP.net شما نیاز به مؤسسه بر روی ویندوز, که آزاد نیست. برای پی اچ پی با این حال شما باید لینوکس و آپاچی که رایگان هستند. بزرگ در حمایت از اف تی پی ساخته شده است, پست الکترونیک, گرافیک GD2 بسته و همچنین خروجی حضور دارند در پی اچ پی.
  • پی اچ پی بر روی یونیکس اجرا, لینوکس, سولاریس و ویندوز. ASP.net عمدتا فقط ویندوز همراه اما شما می توانید آن را در لینوکس با استفاده از نصب ماژول های اضافی.

برچسب‌ها:

تاريخ : 19 مهر 1394برچسب:, | 3:2 بعد از ظهر | نويسنده : احسان صمدی فرد |
لطفا از ديگر مطالب نيز ديدن فرماييد
.: Weblog Themes By SlideTheme :.
?

  • ميني ويکي نت