⊗ppPmSDFl 437 of 447 menu

PHP-ում ֆայլային շարժիչ

Կիրականացնենք կայքի շարժիչ, որը կթույլ տա մեզ ստեղծել կաղապարի ֆայլ, որին կախված URL-ից կտարբեր կոնտենտ միանա։

Թող մեր էջի կառուցվածքը ունենա հետևյալ տեսքը՝

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> content </main> <header> footer </header> </body> </html>

Եկեք այն տեղում, որտեղ պետք է կոնտենտի տեղադրումը կատարվի, տեղադրենք մեր կողմից հորինված ինչ-որ հրաման տեղադրման համար, օրինակ այսպիսին՝ {{ content }}։ Փոխենք մեր կայքի կաղապարը՝

<!DOCTYPE html> <html> <head> <title>title</title> </head> <body> <header> header </header> <main> {{ content }} </main> <header> footer </header> </body> </html>

Հիմա ստեղծենք view պանակը, որի մեջ կտեղադրենք կոնտենտի ֆայլերը։ Ուղղակի այս պանակում կամ ենթապանակներում։

Առաջին ֆայլը կլինի այսպիսին՝

<div> content 1 </div>

Երկրորդ ֆայլը կլինի այսպիսին՝

<div> content 2 </div>

Երրորդ ֆայլը կլինի այսպիսին՝

<div> content 3 </div>

Եկեք հիմա անենք այնպես, որ հասցեային տողի URL-ով բերվի համապատասխան ֆայլը։ Մեր դեպքում /page1 url-ով կլինի առաջին ֆայլը, /dir/page2 url-ով՝ երկրորդը, և /dir/sub/page3 url-ով՝ երրորդը։

Սկսենք իրականացնել։ Սկզբից .htaccess ֆայլում կանենք այնպես, որ բոլոր հարցված հասցեները, բացի ռեսուրսների ֆայլերից, ռեդիրեկտ անեն index.php էջին՝

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png|gif)$ RewriteRule .+ index.php

index.php էջում կստանանք փոփոխականի մեջ հարցված URL-ը՝

<?php $url = $_SERVER['REQUEST_URI']; ?>

Ապա կստանանք կաղապարի ֆայլի տեքստը՝

<?php $layout = file_get_contents('layout.php'); ?>

Հիմա URL-ով կստանանք view պանակից համապատասխան կոնտենտի ֆայլը՝

<?php $content = file_get_contents('view' . $url . '.php'); ?>

Կաղապարի տեքստում կփոխարինենք մեր կողմից հորինված հրամանը ֆայլից ստացված կոնտենտով՝

<?php $layout = str_replace('{{ content }}', $content, $layout); ?>

Բրաուզերում կցուցադրենք կաղապարի ֆայլը՝ տեղադրված կաղապարով՝

<?php echo $layout; ?>

Կհավաքենք բոլորը միասին և կստանանք հետևյալ կոդը՝

<?php $url = $_SERVER['REQUEST_URI']; $layout = file_get_contents('layout.php'); $content = file_get_contents('view' . $url . '.php'); $layout = str_replace('{{ content }}', $content, $layout); echo $layout; ?>

Իրականացրեք նկարագրված ֆայլային շարժիչը։

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել