Маълумот

Ёфтани решаи ҳуҷҷати PHP

Ёфтани решаи ҳуҷҷати PHP


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Решаи ҳуҷҷати PHP ин ҷузвдонест, ки дар он скрипти PHP кор мекунад. Ҳангоми насб кардани скрипт, таҳиягарони веб аксар вақт бояд решаи ҳуҷҷатро донанд. Гарчанде ки бисёре аз саҳифаҳои бо PHP скриптшуда дар сервери Apache кор мекунанд, баъзеи онҳо зери Microsoft IIS дар Windows кор мекунанд. Apache тағирёбандаи муҳити бо ном DOCUMENT_ROOT дорад, аммо IIS надорад. Дар натиҷа, ду роҳ барои ҷойгиркунии решаи ҳуҷҷати PHP вуҷуд дорад.

Дарёфти решаи ҳуҷҷати PHP дар зери Apache

Ба ҷои фиристодани дастгирии техникӣ барои решаи ҳуҷҷат ва интизории посух ба касе, шумо метавонед як скрипти оддии PHP -ро бо getenv () истифода баред, ки дар серверҳои Apache ба решаи ҳуҷҷат миёнабур пешкаш мекунад.

Ин чанд сатри код решаи ҳуҷҷатро бармегардонанд.

Дарёфти решаи ҳуҷҷати PHP дар зери IIS

Хидматрасонии иттилоотии Интернети Microsoft бо Windows NT 3.5.1 муаррифӣ карда шуд ва аз он вақт инҷониб ба аксари нашрияҳои Windows дохил карда шудааст - аз он ҷумла Windows Server 2016 ва Windows 10. Он ба решаи ҳуҷҷат миёнабур пешниҳод намекунад.

Барои дарёфти номи скрипти амалкунанда дар IIS, бо ин рамз сар кунед:

getenv -ро чоп кунед ("SCRIPT_NAME");

ки натиҷаи монандро бармегардонад:

/product/description/index.php

ки роҳи пурраи скрипт аст. Шумо роҳро пурра намехоҳед, танҳо номи файл барои SCRIPT_NAME. Барои гирифтани он, истифода кунед:

realpath чоп кунед (basename (getenv ("SCRIPT_NAME"))));

ки натиҷаи ин форматро бармегардонад:

/usr/local/apache/share/htdocs/product/description/index.php

Барои хориҷ кардани коди марбут ба файли ба сайт марбут ва ба решаи ҳуҷҷат ворид шудан, дар аввали скрипт рамзи зеринро истифода баред, ки решаи ҳуҷҷатро донистан лозим аст.

$ localpath = getenv ("SCRIPT_NAME");

$ absutepath = realpath ($ localPath);

// тирезаҳои Windows-ро ислоҳ кунед

$ absolutepath = str_replace ("", "/", $ absutepath);

$ docroot = substr ($ мутлақ, 0, strpos ($ мутлақавф,

$ localpath));

// мисоли истифода

дохил кардан ($ docroot. "/ including / config.php")

Ин метод, гарчанде мураккабтар аст, ҳам дар серверҳои IIS ва ҳам Apache кор мекунад.