PDA

View Full Version : مبتدی: ساخت تابع پویا



develop.bigg
یک شنبه 03 شهریور 1392, 13:13 عصر
سلام

فرض کنید یه سایت داریم. توی این سایت میخوام یه تابع بنویسم که اگه دامنه این بود http://mysite.com/
این رو نمایش بده :


<a href="/"> Information </a>
<a href="/"> Contact us </a>


و اگه دامنه این بود http://mysite.com/fa/

کدهای مثلا زیر رو نمایش بده :


<a href="/"> اطلاعات </a>
<a href="/"> تماس با ما </a>


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

MRmoon
یک شنبه 03 شهریور 1392, 13:53 عصر
define( 'PATH_WQ' , $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'] );
define( 'PATH_NQ' , $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] );

$texts = array(
'127.0.0.1/zend/index.php' => 'Hi!',
'127.0.0.1/zend/index.php?by' => 'By!',
'default' => 'Hi!',
);

function ShowText( ){
global $texts;
if( isset( $texts[ PATH_WQ ] ) )
echo $texts[ PATH_WQ ];
elseif( isset( $texts[ PATH_NQ ] ) )
echo $texts[ PATH_NQ ];
elseif( isset( $texts[ 'default' ] ) )
echo $texts[ 'default' ];
else
echo 'Nothing found!';
}

ShowText();

چيز زيادي نداره متوجه نشدي بگو توضيح بدم.

develop.bigg
یک شنبه 03 شهریور 1392, 14:24 عصر
من کارم این بود که توی وردپرس یه صفحه درست کنم که توی فوترش در دامنه http://mysite.com/en/

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

حال راه حل دیگه ای نداره؟

MRmoon
یک شنبه 03 شهریور 1392, 14:36 عصر
همينو نميتوني استفاده كني؟

develop.bigg
یک شنبه 03 شهریور 1392, 14:45 عصر
راستش من مبتدی هستم و تازه شروع کردم.

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

MRmoon
یک شنبه 03 شهریور 1392, 20:10 عصر
خطوط اول و دوم دوتا ثابت هستند.

براي مثال آدرس اينه:

site.com/i.php?by
اولين ثابت آدرس رو با كامل ميگيره (با query string ها).

ولي دومي بدون query string ها آدرس رو ميگيره.

خوب بعد متغير texts :

توش آدرسا رو ذخيره ميكنين با چيزي كه اگه آدرسش اين بود نمايش بده.

default هم براي اينه كه اگه هيچكدوم نبود اونو نشون بده.

چيز ديگه اي نبود

develop.bigg
چهارشنبه 06 شهریور 1392, 23:07 عصر
آقا من این رو انجام دادم روی دامنه ای به این شکل test.mysite.com

ولی هر کاریش میکنم فقط بخش deafult اجرا میشه ، مشکل از کجاست؟

MMSHFE
پنج شنبه 07 شهریور 1392, 08:00 صبح
اینو امتحان کنید:


<?php
define('EN_ADDR', 'http://mysite.com/');
define('FA_ADDR', 'http://mysite.com/fa/');

function ShowText() {
$texts = array(
'en' => 'Hi!',
'fa' => 'By!',
);
if(strtolower(substr($_SERVER['REQUEST_URI'], 0, strlen(FA_ADDR))) == FA_ADDR) {
return $texts['fa'];
}
return $texts['en'];
}

echo ShowText();
?>

بهتره بخاطر مسائل امنیتی، از PHP_SELF استفاده نکنید.

develop.bigg
پنج شنبه 07 شهریور 1392, 14:16 عصر
میشه یه توضیح خیلی مختصری بدین؟