سلام
چطور میشه نام پوشه ای که باز می شه رو با پی اچ پی به دست آورد ؟
مثلا :
اینجا مثلا پوشه teztopکد:www.mysite.com/teztop
سلام
چطور میشه نام پوشه ای که باز می شه رو با پی اچ پی به دست آورد ؟
مثلا :
اینجا مثلا پوشه teztopکد:www.mysite.com/teztop
متوجه منظورتون نشدم میشه واضع تر بیگید
نميدونم منظورتون رو درست متوجه شدم يا خير ، اما به سبك htaccess وردپرس اينجوري ميتونيد عمل كنيد :
index.phpکد PHP:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
کد PHP:
echo $_SERVER['REDIRECT_URL'];
$_SERVER['REQUEST_URI']
یعنی مسیری که الان توش هستیم
حالا باید explode کنی با / و از صفر تا انتها را حساب کنی
سعی کنید کامل شرح بدین که کاربر بره تو چه صفحه ای و قرار چه اتفاقی بیفته و ... کامل شرح بدین متوجه نشدم دقیق مثال بزنید مثلا یک کاربر رفته به یک url حالا باید ...
ببینید مثلا من برای هر عضوم یه پوشه دارم. مثلا کاربر x
حالا من می خوام وقتی یک نفر واردشد فایل index.php موجود تو این پوشه x که اجرا می شه اطلاعات این کاربر رو از دیتا بیس بخونه. یه تابعی باشه که بگه اطلاعات مربوط به این کاربر رو می خواد. این فایل ایندکس برای تمامی پوشه ها یه چیز ثابتهکد HTML:www.mysite.com/x
---------- Post added at 11:28 PM ---------- Previous post was at 11:28 PM ----------
ببینید مثلا من برای هر عضوم یه پوشه دارم. مثلا کاربر x
حالا من می خوام وقتی یک نفر واردشد فایل index.php موجود تو این پوشه x که اجرا می شه اطلاعات این کاربر رو از دیتا بیس بخونه. یه تابعی باشه که بگه اطلاعات مربوط به این کاربر رو می خواد. این فایل ایندکس برای تمامی پوشه ها یه چیز ثابتهکد HTML:www.mysite.com/x
قرار نیست به ازای هر کاربر یک فولدر داشته باشی که داخل اون هم یک ایندکس بزاری
ببین مود ری رایت می دونی چی هست ؟ نصبش که راحته با یام و البته ممکنه نصب باشه و به تنظیمات اپاچی php مراجعه کن و ازطریق .htaccess فعالش کن.
در این روش فولدر واقعی در سایت شما بنام x موجود نیست و فرضا فولدر مجازی است پس چه اتفاقی می افتد؟
مو ری رایت می گوید اگر رکوئیست هایی به فایل و فولدری در هاست داده شد و در عمل موجود نبود یک فایل به نام router.php اجرا شود.
وظیفه این فایل این است که url را بشکاند و یک سری متغیر را تعریف کند. مثال:
سایت های تبلیغاتی نیاز دارند که متغیر نوع زبان و category و group و ads_id در متد GET تعریف شده باشد اما این بار با کمک modrewrite
این هم محتویات .htaccessکد HTML:$t1 = $_SERVER['REQUEST_URI']; $part_2=explode("/",$t1); $url_ar_count=count($url_ar); suppose url is : .com/fa/12/134/160987 map= /language / group / category / ads id $_GET['la'] = $part_2[1]; $_GET['gid'] = $part_2[2]; $_GET['cid'] = $part_2[3]; $_GET['aid'] = $part_2[4]; include( "login.php" ); exit();
کد HTML:<IFMODULE mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) router.php </IFMODULE>
ممنون میشه یه کم توضیح بدین ؟
توضیح ابتدا یک htaccess همون کد در public_html می گذاری . این کد چه می گوید ؟ می گوید اگر یک کاربر یک url را از سایت ما درخواست کرد به شرطی که آن فولدر عملا وجود نداشته باشد و یا آن فایل عملا وجود نداشته باشد بصورت چیش فرض یک فایل اجرا شود مثلا default.php یا router.php حالا وظیفه ی روتر چیست؟
روتر می گوید ببینم url چیست و با توجه به url کاربر را به صفحه مورد نظرش راهنمایی کنم. مثال :
می توانیم url را با توجه به اسلش ها بشکانیم اصلاحا explode یک آرایه بدست می آید که از صفر تا n key دارد مثلا در مثال بالا مشخص شده که اولین [1] نشان دهنده fa بوده و دومی group id
سپس می توانی تصمیم گیری کنی. ضمنا همان طور که گفتم اگر چورتال شما مثل جوملا انتظار داشت که برای رفتن به صفحه ارتباط با ما بنویسید index.php?option=com_contact کافیست بنویسید .com/ارتباط با ما حالا یک switch($part_2[1]){ //from first part
بگذاری
کد HTML:case 'ارتباط با ما ' : $_GET['option']=com_contact include('index.php');
در مثال شما این $part اولین کی می شود همان نام فولدر یا کاربر که می گفتی
ببین تا یک مثال را در php اجرا نکنی نمی شه اجرا کن آسونه بیشتر توضیح بدم پیچیده تر میشه ببخشید
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)