دوشنبه, 09 اسفند 1395 08:48

زبان برنامه نویسی PHP چیست؟

PHP بر روی سرور اجرا می شود.
چیزهایی که باید بدانید
قبل از ادامه دادن، شما باید دانشی ابتدایی در مورد مطالب زیر داشته باشید:
HTML
CSS
JavaScript
PHP چیست؟
PHPمخفف کلمه یHypertext Preprocessor  است.
PHP به صورت گسترده استفاده می شود، و یک زبان open source  است.
PHP بر روی سرور اجرا می شود.
PHP برای دانلود و استفاده رایگان است.
PHP یک زبان جالب و محبوب برای استفاده است.
آن به اندازه ی کافی قدرتمند است که به عنوان هسته ی بزرگترین سیستم وبلاگ نویسی در وب قرار گیرد.
به اندازه کافی عمیق است که برای شبکه های اجتماعی بزرگ مانند فیس بوک، استفاده شود.
و همچنین به اندازه ای آسان است که می تواند به عنوان اولین زبان سمت سرور تازه کاران، قرار گیرد.
فایل PHP چیست؟
فایل های PHPمی تواند شامل متن، HTML، CSS، JavaScript، و  کدهای PHP شود.
کد PHP بر روی سرور اجرا می شود، و نتیجه به صورت HTML ساده به مرورگر برمی گردد.
فایل های PHP دارای پیشوند”.php”  هستند.
PHP چه کارهایی می تواند انجام دهد؟
PHPمی تواند صفحات پویا و داینامیک را تولید، و افزایش دهد.
PHPمی تواند فایل ها را بر روی سرور، تولید کند، باز کند، بخواند، پاک کند، و ببندد.
PHPمی تواند محتوی های فرم را جمع کند.
PHPمی تواند کوکی ها را ارسال و دریافت کند.
PHPمیتواند داده ها را اصلاح، اضافه یا پاک کند.
PHPمیتواند دست یابی کاربر را کنترل کند.
PHPمیتواند داده ها را رمزگذاری کند.
با وجود PHP شما محدود به تولید محصولات HTML نیستید. شما می توانید در خروجی، عکس ها، فایل های PDF و حتی فیلم ها را، داشته باشید. شما همچنین می توانید از هرگونه متنی مانند XHTML و XML استفاده کنید.
دلایل استفاده از PHP
PHP بر روی پلت فرم های گوناگونی (لینوکس، ویندوز، مک، یونیکس و غیره) اجرا می شود.
PHP تقریبا با همه ی سرورها ((Apache, IISسازگارست.
PHP از یک حوزه ی گسترده ی دیتابیس پشتیبانی می کند.
PHP رایگان است. می توان آن را از سایت www.php.net دانلود کرد.
PHP به آسانی قابل یادگیری ست و همچنین کدهای آن سمت سرور است.

چهارشنبه, 10 شهریور 1395 08:48

چرا PHP از ASP.Net بهتر است؟

بین توسعه دهنده های سایت خیلی بحث و تناقض بین انتخاب ASP.Net یا PHP بوده. به نظر شما کدوم یکی بهتره؟
اگه از برنامه نویس ها بپرسید، مثل همیشه میخوان دوباره بگن نمیدونن کار با کدومش راحتتره یا کدومش امکانات بیشتری در اختیار کاربر میذاره، این بحث ها هنوز تموم نشده.
توسعه دهنده ها هم که انقد که تو برنامه نویسی از زبون PHP استفاده کردن، بهش معتاد شدن. از طرف دیگه با زبون ASP.Net هم داریم که تحت حمایت میکروسافته و تو همه زبون هایی که .NET رو ساپورت میکنن قابل اجراست.
اما با همه اینها، انتخاب با خودتونه. اگه این کار مال شماست، یعنی قراره نیازهای شمارو رفع کنه، پس خودتونم باید بگید PHP برای کارتون مناسب تره یا باید کارتونو رو پلتفرم .NET توسعه بدید؟
تو این مقاله امکانات هر کدوم از این زبون ها رو بررسی می کنیم و مزایاشونو براتون میگم تا راحتتر بتونید تصمیم بگیرید و همونی رو انتخاب کنید که مناسب کارتون باشه.
PHP یه زبون برای پردازش ابرمتن. تو اینترنت بخاطر منحنی یادگیری خوشگلش کلی قلب گرفته. تازه خیلی از توسه دهنده ها هم طرفدارشن.
اجازه بدید قبل از اینکه بخوام فرق این دو تا زبون رو براتون بگم، یه تفاوت مهمشونو اول یادآوری کنم که حتما باید همیشه گوشه ذهنتون باشه، تا بتونید انتخاب خوبی داشته باشید.
نکته اینجاست که PHP یه زبون برنامه نویسیه، اما ASP.NET جزء دسته زبون های برنامه نویسی نیست. C# یا VB.Net زبون هایی هستن که معمولا با ASP.Net استفاده میشن.
حالا قضیه روشنه! پس اصلا نمیشه بین PHP و ASP.NET مقایسه داشته باشیم. چون دومی چارچوب وب ولی اولی یه زبون برنامه نویسیه.
منم قراره درباره مزایا و امکانات این دو تا صحبت کنم، چون میدونید که اینا دو تا چیز متفاوتن.
شاید براتون جالب باشه که بدونید PHP رو 244 میلیون سایت نصب شده. یه چیز دیگه اینکه کاملا رایگانه و با یه سری چارچوب ها جمع شده و در نتیجه توسعه سایت رو خیلی آسون کرده.
بهترین مثال ها وردپرس و فیسبوکن. اینا همه قدرتشونو مدیون PHP هستن.
حالا بیاید ببینیم ASP.Net چی داره که انقد محبوب شده؟
ASP.NET هم یه چارچوب وب و هم یه ابزار برنامه نویسی که میکروسافت توسعش داده و میشه باهاش برای سایت برنامه و صفحه های مختلف ساخت.
قدرت جادویی ASP.Net رو میتونید تو MySpace و PlentyofFish.com ببینید.
همونطور که گفتم، حالا دیگه میدونید که ASP.NET باید با زبون های برنامه نویسی استفاده بشه. بذارید براتون مزایا و معایب استفاده از PHP و ASP.Net رو بشمرم:

  • هزینه ها:

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

  • خرید ویندوز: اگه بخواهید چیزی رو با ASP.Net توسعه بدید حتما باید توی ویندوز توسعه بدید، چون برای کار با ویندوز طراحی شده. البته بیشتر توسعه دهنده ها هم ویندوز دارن و مشکلی نیست. رو سیستم های مک و لینوکس هم میتونید با Mono Project   با ASP.Net کار کنید.
  • میزبانی ویندوز: اگه به عقب برگردیم، میبینیم که میزبانی وب با ویندوز گرون تر از میزبانی لینوکسه. اما الآن وضع فرق می کنه. الآن میتونید راحت از ویندوز استفاده کنید و هزینه ها تقریبا یکیه.
  • محیط توسعه مجتمع یا IDE: بیشترین استفاده ی IDE برای ASP.Net ویژوال استودیوست. میکروسافت اسم نسخه رایگان ویژوال استودیوشو Visual Express گذاشته.

دو تا نکته ساده که باید با توجه به هدفتون از توسعه سایت مد نظر قرار بدید رو در پایین براتون توضیح دادم. کاری به این نداشته باشید که میخواهید PHP رو انتخاب کنید یا ASP.Net. فقط باید بتونید اینا رو تو یکی از گروه های زیر جا بدید:

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

از نظر هزینه ها و قیمت ها، PHP بهتره.

  • عملکرد:

منظور از توانایی عملکرد برنامه های سایت چیه؟ این توانایی رو با توانایی برقراری ارتباط بین دیتابیس، اسکریپت و سرور میسنجند.
وقتی دارید یه برنامه تحت وب تو PHP کار میذارید، فرم LAMP به خودش میگیره، L برای لینوکس، A برای آپاچی، M برای مای اس.کیو.ال، P برای PHP. این جمع LAMP افزایش کارایی رو تضمین می کنه. شما هم که همینو میخواهید.
دیتابیسی که همراه با ASP.NET استفاده میشه دیتابس مای اس.کیو.ال هست.
سیستم عامل و سیستم فایلی که رو سرور استفاده میشه خیلی رو عملکرد تأثیر داره. در حقیقت، سیستم اجرایی لینوکس و سیستم فایل ext4 در مقایسه با سیستم فایل NTFS و ویندوز عملکرد بالاتری رو نشون میدن.
اینم باید اضافه کنم که یه برنامه PHP رو سیستم عامل لینوکس شانس عملکرد بالاتری نسبت به یه برنامه ASP.Net روی سیستم عامل ویندوز داره.
این نشون میده عملکرد و سرعت پلتفرم بهم وابسته اند. سرعت برقراری ارتباط بین سرور و زمانی که طول می کشه تا مرورگر سایت رو باز کنه بهم وابسته اند و ربطی نداره که از چه زبون برنامه نویسی یا پلتفرمی برای توسعه برنامه تحت وب استفاده می کنید.
خب پس کی سرعت تحت تأثیر قرار میگیره؟
سرعت پلتفرم با سه روش میتونه تست بشه.
اولین باری که متوجه سرعت میشید، وقتیه که سایتتون میخواد با سرور ارتباط برقرار کنه. اینجا ما سرعت پلتفرم رو چک نمی کنیم ولی چیزی که مهمه، سرعت سرورهای دیتابیس بک-انده.
حالا همینکه برنامه تحت وب میخواد با فایل دیتابیس (که تو سیستم فایل قرار داره) ارتباط برقرار کنه، از سرعت سیستم عاملی استفاده می کنه که داره روش کار می کنه.
همونطور که توضیح دادم، ASP.Net یه چارچوبه و فقط تو پلتفرم های برپایه ویندوز میتونه کار کنه، اما PHP میتونه تو همه سیستم های اجرایی کار کنه. یکی از دلیلاشم اینه که منبع بازه.
سرعت و عملکرد، دو تا مزیت سرورهای PHP به شمار میرن، ولی ASP.Net عملکرد ضعیفی نشون داده.
اما موقع کد نویسی و اجرا، PHP و کلا زبان های برنامه نویسی نمیتونن سرعت و کارایی ASP.NET رو داشته باشن.

  • مقیاس پذیری: کدوم بهتره؟

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

  • پشتیبانی:

همونطور که توضیح دادم، PHP یکی از زبون های برنامه نویسیه که رایگان و منبع بازه و جامعه کثیری از توسعه دهنده ها ازش استفاده می کنن.

  • ابزار و ویرایشگرها:

من دیدم بیشتر توسعه دهنده های PHP بیشتر دوست دارن به جای اجرای یک IDE کامل، از ویرایشگرهای متن، مثل VIM و Notepad++ استفاده کنن.
اما میتونید هم از PHP استفاده کنید و هم با IDE کار کنید. اگه اینطوری ترجیح میدید، میتونید از ویرایشگر Eclipse استفاده کنید که رایگان هم هست.
شاید خودتون بدونید که خیلی از IDE ها از  ASP.Net پشتیبانی می کنن، اما با Visual Studioی میکروسافت هم میتونید استفادش کنید. رایگان نیست ولی امکانات خوبی داره و یکی از منعطف ترین IDEهاست.
پس اگه میتونید براش یه مقدار کنار بذارید، ASP.Net بهتره.
سختی یا سادگی یادگرفتنش؟
اگه تازه کار باشید، شاید براتون یکم سخت باشه تا با ASP.Net آشنا بشید، چون با زبان #C برنامه نویسی شده که این زبون از C مشتق شده و همونطور که می دونید، ترجمه ترکیب C سخت و پیچیدست، هرچقدرم که برنامه نویس حرفه ای باشه.
اما یادگرفتن PHP ساده و آسونه، چون فقط با چند خط کد سر و کار دارید.
خب کی برد؟
PHP یا ASP.Net؟
جوابتون چیه؟ نتیجه گیری من میگه PHP. بخاطر امکاناتی که ارائه میده و رایگان بودنش.
شما از چه زبان برنامه نویسی برای توسعه تحت وب استفاده می کنید؟

فعال سازی شده در طراحی سایت php

دارکوب جهت توسعه اسکریپت بازی تراوین نیاز به برنامه نویس حرفه ای PHP دارد. جهت رویت توضیحات این اسکریپت بازی به توضیحات بازی تراوین در ویکی پدیا مراجعه نمایید.
از برنامه نویسان علاقه مند دعوت می گردد رزومه خود را به آدرس info[at]joomir.com ارسال نمایند.
برنامه نویسانی که تجربه بازی و توسعه این نرم افزار را دارند در اولویت هستند.
در صورت نیاز به برقراری تماس تلفنی لطفا با شماره های تلفن تهران: 22083926 - 22085386 - 22082258 تماس حاصل فرمایید.

پروژه توسعه اسکریپت تراوین یک پروژه دائمی بوده که پس از اتمام فاز اول آن که در حدود 60 روز به طول خواهد انجامید فازهای بعدی آن آغاز خواهد گردید.

زمان کاری برنامه نویس از شنبه تا پنج شنبه 9 تا 5 بعد از ظهر خواهد بود و پروژه به صورت فشرده خواهد بود و برنامه نویس مورد نظر فقط بر روی همین پروژه فعالیت خواهد نمود.

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

فعال سازی شده در طراحی سایت php

در برنامه نویسی PHP مواقعی پیش می آید که نیاز دارید دو تاریخ را به یکدیگر مقایسه نمایید و فاصله زمانی بین دو تاریخ را پیدا کنید که در بخش زیر نحوه بدست آوردن آن را به صورت کامل برای شما شرح خواهم داد. تاریخ ها را نمی توانید به صورت عادی از هم منها نمایید و می بایست آنها را به مقدار عددی تبدیل نمایید. برای انجام این کار می توانید از تابع strtotime استفاده نمایید. این تابع تاریخ شما به صورت تاریخ UNIX تبدیل می نماید که این تاریخ فاصله زمان تاریخ شما به ثانیه از زمان یکم 1970 می باشد. در زیر نحوه انجام این کار را به شما نمایش می دهم:

$date1 = "2007-03-24 00:00:00";
$date2 = "2009-06-26 00:00:00";

$diff = abs(strtotime($date2) - strtotime($date1));

$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));

printf("%d years, %d months, %d days\n", $years, $months, $days);

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

$hour = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24)/ (60*24));

$min = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hour*60*60)/ (60));

البته می توانید فاصله زمانی بین دو تاریخ را فقط توسط المان های دیگر نظیر ساعت و دقیقه بیان نمایید که در زیر مثال آن را برای شما آورده ام:

$hour = floor($diff / (60*24));
$min = floor(($diff - $hour * 60*24) / (24));

فعال سازی شده در طراحی سایت php

در صورتی که بر روی سرور فایل فشرده در فرمت های zip ، gzip و سایر فرمت ها را دارید می توانید توسط PHP فایل را اکستراکت نمایید. برای انجام این کار می توانید از کد نمونه PHP زیر که توسط سایت رسمی PHP منتشر شده و در آدرس http://www.php.net/manual/en/ziparchive.extractto.php آمده استفاده نمایید.

 <?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>

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

ini_set('max_execution_time', 300);

برای انجام این کار کافی است تابع را در بالای کد کپی نمایید.

همچنین تابع آماده برای خارج سازی فایل ها از حالت فشرده در آدرس http://themergency.com/extract-zip-files-with-php/ وجود دارد که کافی است فایل unzip.php را بر روی سرور خود بارگذاری نموده و آدرس آن را در مرورگر رویت نمایید. فایل مورد نظر کلیه فایل های موجود در سرور را به شما نمایش می دهد و کافی است بر روی فایل فشرده خود کلیک نموده تا فایل اکستراکت گردد.

 

فعال سازی شده در طراحی سایت php

ابزارهای بسیاری برای کد نویسی PHP وجود دارند که با استفاده از آنها می توانید راحت تر برنامه نویسی نمایید. در زیر چند مورد را که مورد استفاده دارکوب نیز می باشد به شما نمایش داده ام.

Aptana PHP

Aptana PHP ویرایشگر متن باز PHP می باشد که در کنار Aptana Studio مورد استفاده قرار می گیرد. برای اطلاعات بیشتر به online documentation about Aptana PHP مراجعه نمایید.

PHPUnit


PHPUnit ابزار کامل JUnit جهت تست و بررسی PHP 5 می باشد. ابزاری جهت تست برنامه های نوشته شده توسط PHP شما می باشد. تست کردن برنامه توسط فریم ورک PHPUnit بسیار ساده می باشد; برای نحوه استفاده به نحوه استفاده مراجعه نمایید.

Securimage


Securimage ابزاری رایگان, جهت ساخت تصاویر با کدهای رندم CAPTCHA جهت امن سازی فرم های وب سایت می باشد.

SublimeText

http://www.sublimetext.com/

 

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

بسته های مختلف از بابت معرفی (سایر موارد را می توانید در این آدرس بیابید https://sublime.wbond.net/):

  • phpDocumenter (ایجاد تالیفات حرفه ای)
  • Alignment (مرتب سازی کدها)
  • PHP Completions Kit (تکمیل کننده پارامترها؟)
  • Automatic Backups (نگه داشتن فایل بک آپ همه چیز)
  • Retro Computer Themes (قالب نماشی مترو)
  • Bracket Highlighter (های لایت کردن براکت ها)
  • LastModifiedIndicator (نمایکشگر تغییرات فایل)

Composer

https://getcomposer.org/

در صورتی که قصد استفاده از کتابخانه های محبوب PHP را دارید می توانید از این ابزار استفاده نمایید.  به راحتی می توانید فایلcomposer.json در ریشه اصلی پروژه خود ایجاد نموده, و یک دستور را اجرا نمایید, و کلیه ارتباط ها بارگذاری می گردند و آماده استفاده می باشند.  کتابخانه های بسیار در https://packagist.org

Git/SVN/Version Control

http://git-scm.com/

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

PHP Debugbar

https://github.com/maximebf/php-debugbar

ارسال اطلاعات رفع عیب و صفحه کنسول مرورگر.  خروجی var_dump()ing برای شما ارسال خواهد شد, Jpop.  این ابزار شبیه به FirePHP می باشد اما استفاده از آن بسیار ساده تر می باشد.  این ابزار شبیه به Monolog می باشد, که اطلاعات رفع عیب PHP را به صورت پیچیده تر به خروجی ارسال می نماید.

Faker

https://github.com/fzaninotto/Faker

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

Geocoder

https://github.com/geocoder-php/Geocoder

ابزاری بسیار مناسب برای به کار گیری توابع مربوط به مکان که به مانند Google, Bing و MapQuest کار می نماید.

Directus

http://getdirectus.com

Directus فریم ورک مدیریت محتوا نوشته شده بر پایه PHP می باشد که به شما امکان تغییر نحوه دریافت، پردازش و نمایش محتوا را می دهد. ;کافی است دستورهای SQL خود را بنویسید تا Directus سایر کارها را برای شما انجام دهد. در حقیقت می توانید از آن به عنوان یک سیستم مدیریت محتوا استفاده نمایید.

فعال سازی شده در طراحی سایت php
برخی موارد در PHP به آن نیاز پید می نمایید که تگ های خاصی از HTML را حذف نمایید که تابعی برای این کار در PHP وجود ندارد. تابع strip_tags نیز به این صورت عمل می نماید که تنها تگ های خاصی را که شما در پارامترهای آن تعریف می نمایید را اجازه نمایش به آن داده می شود. تابع PHP زیرا عکس strip_tags عمل می نماید و تگ هایی که شما مشخص می نمایید را از HTML حذف می نماید.
function strip_defined_tags($str, $tags, $stripContent = false) {
$content = '';
if (!is_array($tags)) {
$tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
if(end($tags) == '') array_pop($tags);
}
foreach($tags as $tag) {
if ($stripContent) {
$content = '(.+|\s[^>]*>)|)';
$str = preg_replace('#|\s[^>]*>)'.$content.'#is', '', $str);
}
return $str;
}
فعال سازی شده در طراحی سایت php
برای گرفتن تاریخ فارسی در برنامه نویسی جوملا ابتدا می بایست زبان فارسی جوملا را در سیستم مدیریت محتوای جوملای خود نصب نموده و آن را به عنوان زبان پیش فرض انتخاب نمایید و سپس در صورتی که در جایی از برنامه نویسی سایت جوملای خود نیاز به استفاده و نمایش تاریخ شمسی و فارسی را داشتید از کد زیر استفاده نمایید.
echo JHtml::date($input = 'now', 'm/d/Y h:i:s a', false);
در کد بالا در صورتی که قصد گرفتن تاریخ فعلی را داشته باشید از now استفاده می نمایید و در صورتی که تاریخ را از جایی دیگر مثلا از دیتابیس می گیرید می توانید مقدار آن را به جایی now قرار دهید. این تابع تاریخ میلادی ثبت شده را به تاریخ شمسی و فارسی تبدیل می نماید.
دانلود زبان فارسی جوملا از این آدرس:
http://extensions.joomla.org/extensions/languages/translations-for-joomla/17478
فعال سازی شده در طراحی سایت با جوملا
یکشنبه, 19 آبان 1392 18:04

رفع عیب جوملا 1.0 در php 5.3.0

جوملا 1.0 مشکلات بسیاری در php 5.3.0 دارد که کاربران بسیاری این مشکلات را گزارش نموده اند.

هم اکنون برای وب سایت ها زمان آن رسیده به نسخه های بالاتر به روز رسانی شوند، زیرا نسخه 1.0 جوملا جزو نسخه هایی است که پشتیبانی نمی شود و باگ های بسیاری در آن وجود دارد. برای رویت آخرین نسخه جوملا به سایت رسمی http://joomla.org مراجعه نمایید.

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

برای سازگاری جوملا 1.0 با php 5.3 موارد زیر را می بایست در سایت انجام دهید

در صورتی که مطالب در اکثر صفحات سایت نمایش داده نمی شود فایل Function.php موجود در آدرس /public_html/includes/Cache/Lite باز نموده.

جا گذاری نمایید:

 $arguments = func_get_args();

با

 $arguments = func_get_args();
$numargs = func_num_args();
for($i=1; $i < $numargs; $i++){
$arguments[$i] = &$arguments[$i];
}

برای رفع مشکل تماس با ما جوملا VCARD.CLASS.PHP ERROR کامپوننت COM_CONTACT نمایش به صورت سفید

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

 Fatal error: Cannot redeclare quoted_printable_encode() in includes/vcard.class.php on line 74

فایل در آدرس includes/vcard.class.php را باز نموده و در خط 36 آن تابع quoted_printable_encode را بیابید. خطای اعلام شده تکرار تعریف این تابع می باشد برای جلوگیری از این اتفاق از تابع function_exists برای بررسی اینکه تابع قبلا تعریف شده و یا خیر استفاده نمایید.

 if(!function_exists('quoted_printable_encode')) { // این بخش اضافه شود
function quoted_printable_encode($input, $line_max=76) {
/* ... */
}
} // این بخش اضافه شود

زمان جوملا

تغییر جدیدی که در php 5.3 به وجود آمده نحوه تعریف زمان می باشد.

بهترین روشی که برای این مورد پیشنهاد می نمایم استفاده از .htaccess جهت تعریف زمان پیش فرض می باشد. کد زیر را به htaccess سایت خود اضافه نمایید:

 # set the server timezone
SetEnv TZ Australia/Victoria

DEPRECATED: FUNCTION EREGI() IS DEPRECATED IN INCLUDES/SEF.PHP ON LINE 533

در نسخه های جدید php علکرد تابع eregi با استفاده از تابع preg_match می باشد. بنابراین می بایست بخش هایی از سایت که از این مورد استفاده شده اصلاح گردد.

برای رفع مشکل تغییرات زیر را در فایل انجام دهید:

 

Line 370:

WAS:

if ($juri != '' && $juri != '/' && !eregi( "index\.php", $_SERVER['REQUEST_URI'] ) && !eregi( "index2\.php", $_SERVER['REQUEST_URI'] ) && !eregi( "/\?", $_SERVER['REQUEST_URI'] ) && $_SERVER['QUERY_STRING'] == '' ) {


BECOMES:

if ($juri != '' && $juri != '/' && !preg_match( "index\.php/i", $_SERVER['REQUEST_URI'] ) && !preg_match( "index2\.php/i", $_SERVER['REQUEST_URI'] ) && !preg_match( "/\?/i", $_SERVER['REQUEST_URI'] ) && $_SERVER['QUERY_STRING'] == '' ) {

-----------------------------------------
Line 388:

WAS:

if( $mosConfig_sef && $mosConfig_multilingual_support && $string!='index.php' && !eregi("^(([^:/?#]+):)",$string) && !strcasecmp(substr($string,0,9),'index.php') && !eregi('lang=', $string) ) {


BECOMES:

if( $mosConfig_sef && $mosConfig_multilingual_support && $string!='index.php' && !preg_match("^(([^:/?#]+):)/i",$string) && !strcasecmp(substr($string,0,9),'index.php') && !preg_match('lang=/i', $string) ) {

-----------------------------------------
Line 393:

WAS:

if ($mosConfig_sef && !eregi("^(([^:/?#]+):)",$string) && !strcasecmp(substr($string,0,9),'index.php')) {


BECOMES:

if ($mosConfig_sef && !preg_match("/^(([^\/:?#]+):)/i",$string) && !strcasecmp(substr($string,0,9),'index.php')) {

-----------------------------------------
Line 409:

WAS:

if (preg_match('@^[A-Za-z][A-Za-z0-9:_.-]*$@', $url['fragment'])) {


BECOMES:

if (preg_match('@^[A-Za-z][A-Za-z0-9:_.-]*$@/i', $url['fragment'])) {

-----------------------------------------
Line 533:

WAS:

eregi("^(https?:[\/]+[^\/]+)(.*$)", $mosConfig_live_site, $live_site_parts);


BECOMES:

preg_match("/^(https?:[\/]+[^\/]+)(.*$)/i", $mosConfig_live_site, $live_site_parts);

فعال سازی شده در طراحی سایت با جوملا
سه شنبه, 30 مهر 1392 13:04

تشخیص نسخه IE توسط PHP

جهت بررسی نسخه IE و یا هر نوع مرورگر دیگر می توانید از کد php زیر استفاده نمایید. این برنامه جهت بررسی مرورگر اکسپلورر نسخه 6 نوشته شده. برای سایر نسخه ها می توانید 6 را با سایر اعداد تعویض نمایید.
$using_ie6 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE);

همچنین می توانید به جای MSIE که مربوط به اکسپلورر است از تگ مربوط به سایر مرورگرها استفاده نمایید.
Firefox
Chrome
Safari
Opera
Netscape
فعال سازی شده در طراحی سایت php
صفحه 1 از 2
طراحی سایت دارکوب | هاست دارکوب | دارکوب نام و علامت تجاری ثبت شده این مجموعه می باشد.
دارای مجوز از (سازمان نظام صنفی رایانه ای استان تهران) ، (رتبه 4 شورای عالی انفورماتیک کشور) ، (وزارت فرهنگ و ارشاد اسلامی)
آموزشگاه طراحی سایت و سئو با مجوز رسمی از سازمان فنی و حرفه ای کشور افتتاح شد
دارکوب به عنوان شرکت خلاق توسط معاونت علمی و فناوری ریاست جمهوری برگزیده شد