نوشته شده توسط : طراحی سایت

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

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

سورس و آدرس:

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



:: برچسب‌ها: جوملا , php , تاریخ , فارسی ,
:: بازدید از این مطلب : 635
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 29 آذر 1394 | نظرات ()
نوشته شده توسط : طراحی سایت
رفع عیب جوملا 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);

سورس:

جوملا 1.0 در php 5.3.0



:: برچسب‌ها: جوملا , php ,
:: بازدید از این مطلب : 461
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : پنج شنبه 15 مرداد 1394 | نظرات ()
نوشته شده توسط : طراحی سایت

از کد زیر برای ایجاد subdomain در cpanel استفاده نمایید.

<?php
function create_subdomain($subDomain,$cPanelUser,$cPanelPass,$rootDomain) {

// $buildRequest = "/frontend/x3/subdomain/doadddomain.html?rootdomain=" . $rootDomain . "&domain=" . $subDomain;

$buildRequest = "/frontend/x3/subdomain/doadddomain.html?rootdomain=" . $rootDomain . "&domain=" . $subDomain . "&dir=public_html/subdomains/" . $subDomain;

$openSocket = fsockopen('localhost',2082);
if(!$openSocket) {
return "Socket error";
exit();
}

$authString = $cPanelUser . ":" . $cPanelPass;
$authPass = base64_encode($authString);
$buildHeaders = "GET " . $buildRequest ."\r\n";
$buildHeaders .= "HTTP/1.0\r\n";
$buildHeaders .= "Host:localhost\r\n";
$buildHeaders .= "Authorization: Basic " . $authPass . "\r\n";
$buildHeaders .= "\r\n";

fputs($openSocket, $buildHeaders);
while(!feof($openSocket)) {
fgets($openSocket,128);
}
fclose($openSocket);

$newDomain = "http://" . $subDomain . "." . $rootDomain . "/";

// return "Created subdomain $newDomain";

}

create_subdomain($subDomain,$cPanelUser,$cPanelPass,$rootDomain);
?>

سورس و منبع:

ایجاد subdomain در cpanel وب سایت



:: برچسب‌ها: cpanel , php ,
:: بازدید از این مطلب : 415
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : شنبه 29 فروردين 1394 | نظرات ()
نوشته شده توسط : طراحی سایت
جهت ایجاد فایل بر روی سرور توسط php از کد زیر استفاده نمایید:
$handle = fopen("/home/rasmus/file.txt", "r"); $handle = fopen("/home/rasmus/file.gif", "wb"); $handle = fopen("http://www.example.com/", "r"); $handle = fopen("ftp://user:password[at]example.com/somefile.txt", "w");
لینک و منبع:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 446
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 18 اسفند 1393 | نظرات ()
نوشته شده توسط : طراحی سایت
سایت ضمیمه نرم افزار مرور دایرکتوری های وب سایت توسط php می باشد
لینک:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 473
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 20 بهمن 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

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

string implode ( string $glue , array $pieces ); $array = array('lastname', 'email', 'phone'); $comma_separated = implode(",", $array); echo $comma_separated; // lastname,email,phone // Empty string when using an empty array: var_dump(implode('hello', array())); // string(0) ""
لینک:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 500
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : سه شنبه 7 بهمن 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در صورتی که قصد دارید تمام فایل های موجود در یک فلدر را به فلدر دیگر توسط php انتقال دهید می توانید از کد زیر استفاده نمایید.

// Get array of all source files
$files = scandir("source");
// Identify directories
$source = "source/";
$destination = "destination/";
// Cycle through all source files
foreach ($files as $file) {
if (in_array($file, array(".",".."))) continue;
// If we copied this successfully, mark it for deletion
if (copy($source.$file, $destination.$file)) {
$delete[] = $source.$file;
}
}
// Delete all successfully-copied files
foreach ($delete as $file) {
unlink($file);
}
آدرس:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 399
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : پنج شنبه 11 دی 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در صورتی که قصد دارید فایلی توسط php از یک سرور به سرور دیگر انتقال دهید کد زیر را در فایل php خود ذخیره نمایید در بخش اطلاعات ftp شامل پارامترهای server , user و pass اطلاعات ftp سرور قبلی خود را درج نمایید و در پارامتر file نام فایل را در سروری که فایل هم اکنون در آن قرار دارد و در پارامتر localfile نام فایل را در سروری که قصد دارید فایل را به آن انتقال دهید درج نمایید و در نهایت فایل php را در سروری که می خواهید فایل را به آن انتقال دهید بارگذاری نموده و فایل php را از طریق مرورگر وب مرور نمایید. به همین راحتی فایل شما بین دو سرور انتقال می یابد.

$server = "example.com"; //target server address or domain name from we wana download file
$user = " ftpusername@example.com"; //username on target server
$pass = "ftpPassword"; //password on target server for Ftp
$file = "Filename.tar"; /*source file on the server which we wana download ,single file name refers that file is in Home/root*/
$local_file = 'local.tar';//download file and store as local.tar
//================================
$sessid = ftp_connect($server); //connect
$login_ok = ftp_login($sessid, $user, "$pass"); //login
if ((!$sessid) || (!$login_ok)):
 echo "failed to connect: check hostname, username & password";
 exit; //failed? Unable to connect!
endif;
 
if (ftp_get($sessid, $local_file, $file, FTP_BINARY)) //Ftp get function which will download file
{
 echo "Successfully written to $local_file\n";
} else {
 echo "There was a problem\n";
}
 
ftp_close($sessid);

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

$path = 'newfile.zip'; 
$url = 'File address in old server'; 
$newfname = $path; 
echo 'Starting Download!
'; 
$file = fopen ($url, "rb"); 
if($file) { 
$newf = fopen ($newfname, "wb"); 
if($newf) 
while(!feof($file)) { 
fwrite($newf, fread($file, 1024 * 50 ), 1024 * 50 ); 
echo '1 MB File Chunk Written!
'; 

} if($file) { 
fclose($file); 

if($newf) { 
fclose($newf); 

echo 'Finished!'; 
?>
آدرس:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 402
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 24 آذر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در صورتی که می خواهید سرعت سایت خود را بالا ببرید و همچنین میزان بار استفاده شده بر روی سرور را کمک نمایید می توانید از php برای کش کردن صفحات سایت کمک بگیرید. کش کردن به آن معنی است که یک نسخه از صفحه مورد نظر بر روی سرور ذخیره می گردد و در درخواست کاربر بعدی به جای اجرا شدن صفحه مورد نظر فایل کش ذخیره شدن در سایت به کاربر نمایش داده می شود. شما همچنین می توانید در برنامه نویسی کش سایت خود زمان مشخص نمایید به عنوان مثال مشخص نمایید هر 15 کش جدید در سایت نوشته شود. مدت زمان کشی که تعیین می نمایید بسته به وضعیت سایت شما می باشد. در صورتی که سایت شما دائما در حال تغییر است کش را باید بسیار کم و در حد 1 دقیقه ست نمایید و در صورتی که سایت شما تغییرات خاصی ندارد می توانید کش حتی 1 ماهه ست نمایید. استفاده از سیستم کش باعث می شود بار بر روی به میزان قابل توجهی کاهش یابد زیرا دیگر لازم نیست برنامه php اجرا گردد و صفحه برای کاربر ارسال گردد. صفحه مورد نظر به مانند یک صفحه html لود می گردد. 
برای ایجاد سیستم کش در فایل php خود کافی است کد زیر نظر را در بالای فایل php خود کپی نمایید:


<?php
$cachefile = "images/cache.html";

 

$cachetime = 15 * 60; // 5 minutes

// Serve from the cache if it is younger than $cachetime

if (file_exists($cachefile) && (time() - $cachetime
< filemtime($cachefile))) 
{

include($cachefile);

echo "<!-- Cached ".date('jS F Y H:i', filemtime($cachefile))." 
-->n";

exit;

}

ob_start(); // start the output buffer
?>


کد php بالا ابتدا به دنبال فایل کش بر روی سرور می گردد و در صورتی که زمان ایجاد آن مربوط به کمتر از 15 دقیقه بود فایل کش شده رو به جای اجرا کردن کد برای کاربر ارسال می نمایید
و دستور php زیر را در پایین صفحه کپی نمایید


<?php
// open the cache file for writing
$fp = fopen($cachefile, 'w'); 

 

// save the contents of output buffer to the file
fwrite($fp, ob_get_contents());

// close the file

fclose($fp);

// Send the output to the browser
ob_end_flush(); 
?>


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

لینک:

طراحی سیستم کش



:: برچسب‌ها: طراحی , کش , کش سایت , php , برنامه نویسی php , وب سایت ,
:: بازدید از این مطلب : 468
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 9 آذر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت
تبدیل هر وب سایت به سایت موبایل توسط phpMobilizer
 

phpMobilizer به صاحبان وب سایت قابلیت اضافه نمودن پشتیبانی سایت از موبایل را میدهد.

phpMobilizer چیست؟
به صورت اتوماتیک هر وب سایتی را به وب سایت موبایل تبدیل می نماید. phpMobilizer به مانند سایر مبدلهای سایت به نسخه موبایلی کار می کند به جز آنکه این برنامه بر روی سرور شما 

اجرا می شود.

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

قابلیت ها

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

نیازمندی ها

  • PHP 5
  • Apache (.htaccess/mod_rewrite capable)

برای دانلود به آدرس زیر مراجعه نمایید:

https://code.google.com/p/phpmobilizer/

آدرس:

تبدیل هر وب سایت به سایت موبایل توسط php



:: برچسب‌ها: وب سایت , موبایل , php ,
:: بازدید از این مطلب : 550
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : پنج شنبه 15 آبان 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

جهت بررسی نسخه IE و یا هر نوع مرورگر دیگر می توانید از کد php زیر استفاده نمایید. این برنامه جهت بررسی مرورگر اکسپلورر نسخه 6 نوشته شده. برای سایر نسخه ها می توانید 6 را با سایر اعداد تعویض نمایید.

$using_ie6 = (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== FALSE);


همچنین می توانید به جای MSIE که مربوط به اکسپلورر است از تگ مربوط به سایر مرورگرها استفاده نمایید. 
Firefox
Chrome
Safari
Opera
Netscape

آدرس:

تشخیص نسخه IE وب سایت 



:: برچسب‌ها: php ,
:: بازدید از این مطلب : 479
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : پنج شنبه 8 آبان 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

برخی موارد در 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;
}
آدرس:


:: برچسب‌ها: strip_tags , strip_tags reverse , php ,
:: بازدید از این مطلب : 622
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 23 مهر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

ابزارهای بسیاری برای کد نویسی 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 , برنامه نویسی php , برنامه نویسی ,
:: بازدید از این مطلب : 564
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 16 مهر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در برنامه نویسی 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



:: برچسب‌ها: strtotime , php ,
:: بازدید از این مطلب : 2095
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 9 مهر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

ابزارهای بسیاری برای کد نویسی 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 , برنامه نویسی php , برنامه نویسی ,
:: بازدید از این مطلب : 565
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : شنبه 5 مهر 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در صورتی که بر روی سرور فایل فشرده در فرمت های 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 ,
:: بازدید از این مطلب : 498
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 9 شهريور 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

در برنامه نویسی 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



:: برچسب‌ها: strtotime , php ,
:: بازدید از این مطلب : 524
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 5 مرداد 1393 | نظرات ()
نوشته شده توسط : طراحی سایت

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

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

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

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

سورس:

برنامه نویس PHP جهت توسعه اسکریپت تراوین



:: برچسب‌ها: php , برنامه نویسی php ,
:: بازدید از این مطلب : 498
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 23 تير 1393 | نظرات ()
نوشته شده توسط : طراحی سایت
رفع عیب جوملا 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);

 
 
 منبع:


:: برچسب‌ها: جوملا , php ,
:: بازدید از این مطلب : 576
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 27 آذر 1392 | نظرات ()
نوشته شده توسط : طراحی سایت

در صورتی که قصد دارید تمام فایل های موجود در یک فلدر را به فلدر دیگر توسط php انتقال دهید می توانید از کد زیر استفاده نمایید.

// Get array of all source files
$files = scandir("source");
// Identify directories
$source = "source/";
$destination = "destination/";
// Cycle through all source files
foreach ($files as $file) {
if (in_array($file, array(".",".."))) continue;
// If we copied this successfully, mark it for deletion
if (copy($source.$file, $destination.$file)) {
$delete[] = $source.$file;
}
}
// Delete all successfully-copied files
foreach ($delete as $file) {
unlink($file);
}
منبع:


:: برچسب‌ها: php ,
:: بازدید از این مطلب : 648
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : شنبه 25 آبان 1392 | نظرات ()

صفحه قبل 1 2 3 4 5 ... 28 صفحه بعد