අදත් වෙනදා වගේම හෙන අවුලක වැටිල ඉන්නේ මචන්.. වෙනද වගේම මේකත් පොඩි php කේස් එකක්.
මෙතනදී වෙන්නෙ මචන් server requesting url එක array element එකක් එක්ක සසඳන වැඩක්..
මට වෙන්න ඕන දේ මේකයි මචන්.. උදාහරණයක් විදියට.
example.com/tipo22.php මෙන්න මේ ආකාරයට මගේ සයිට් එකක් තියෙනවා.. ඒකියන්නේ root එකේ tipo22.php කියල php file එකක් තියෙනවා.. ඉතින් මට ඒ file එක call කරන්න පුලුවන්නේ... මේ ආකාරයට...
example.com/tipo.php කියලා..
ඒවගේම මම මේ විදියට ගැහුවත් වැඩ
example.com/Tipo.php එතනත් අවුලක් නෑ.. හැබැයි මචන්ලා අවුල තියෙන්නේ.. මම පොඩි කෝඩ් එකක් ලිව්වා server requesting url එක හා array element සමාන වෙන අවස්තාවලදී පොඩි වැඩක් වෙන්න.. ඒක වැඩ කරන්න නම් අනිවා...
example.com/tipo.php යටම ගහන්න ඕන.. example.com/Tipo.php ගැහැව්වොත් මම අර ගහපු කෝඩ් එක වැඩ නෑ.. මොකද server requesting url එක අපි pre difine කරපු array element එකට සමාන වෙන්නේ නැති නිසා...
මේ තියෙන්නේ මේ ප්රශ්නෙට මම අත්හදාබලපු කෝඩ් එකක් හැබැයි තාම ගොඩ යන්න බැරි උනා....
ඔය ඉහත කෝඩ් එක ගොඩ දාගන්න පුලුවන් මචන් හැබැයි අවුල තියෙන්නේ.. මෙතනයි...
මට ඕන මචන්ලා php server requesting url එක අපි Pre difine කරපු array එකේ සර්ච් කරල ඒකේ Index එක හොයාගන්න... ඒක මම මේ විදියට කරා.
මෙන්න මෙතන තමයි මචන් කේස් එක තියෙන්නේ...
මෙම array search එක වැඩ කරන්නේ.. මචන් හරිම format එකට විතරයි...
උදා -
server requesting url -> /tipo.php කියල ගැහැව්වොත්...
array element එකත් අනිවාර්යෙන්ම තියෙන්න ඕනේ... /tipo.php කියලමයි... Tipo.php කියල තිබුනොත් එයාට හොයාගන්න බෑ...
ඇතතටම මට ඕනේ... case sensitive නැතිව මේ දේ කරන්න... ඒකියන්නේ මෙහෙම..
server requesting url -> /tipo.php
/Tipo.php
/TiPo.php
ඔය වගේ මොන විදියට case එක වෙනස් කරල දුන්නත්... අපි මේ ආකරයට Pre difine කරල තියෙන array element එක හොයාගන්න පුලවන් විදියට...
array ('tipo.php');
මේ දේ කරන විදිය මට කියල දෙන්න මචන්ලා....

මෙතනදී වෙන්නෙ මචන් server requesting url එක array element එකක් එක්ක සසඳන වැඩක්..
මට වෙන්න ඕන දේ මේකයි මචන්.. උදාහරණයක් විදියට.
example.com/tipo22.php මෙන්න මේ ආකාරයට මගේ සයිට් එකක් තියෙනවා.. ඒකියන්නේ root එකේ tipo22.php කියල php file එකක් තියෙනවා.. ඉතින් මට ඒ file එක call කරන්න පුලුවන්නේ... මේ ආකාරයට...
example.com/tipo.php කියලා..
ඒවගේම මම මේ විදියට ගැහුවත් වැඩ
example.com/Tipo.php එතනත් අවුලක් නෑ.. හැබැයි මචන්ලා අවුල තියෙන්නේ.. මම පොඩි කෝඩ් එකක් ලිව්වා server requesting url එක හා array element සමාන වෙන අවස්තාවලදී පොඩි වැඩක් වෙන්න.. ඒක වැඩ කරන්න නම් අනිවා...
example.com/tipo.php යටම ගහන්න ඕන.. example.com/Tipo.php ගැහැව්වොත් මම අර ගහපු කෝඩ් එක වැඩ නෑ.. මොකද server requesting url එක අපි pre difine කරපු array element එකට සමාන වෙන්නේ නැති නිසා...
මේ තියෙන්නේ මේ ප්රශ්නෙට මම අත්හදාබලපු කෝඩ් එකක් හැබැයි තාම ගොඩ යන්න බැරි උනා....
PHP:
<?php
// testing code
$sru = $_SERVER['REQUEST_URI'];
$path = array ('/myphp/tipo25.php','/myphp/tipO22.php','/myphp/tipo23.php','/myphp/Tipo21.php');
$arrayItem = array_search($sru, $path);
echo $path[$arrayItem]."<br>";
if(in_array($sru, $path) ) {
if (preg_match('`[A-Z]`',$path[$arrayItem])){
$lowerPath = strtolower($path[$arrayItem]);
$lowerSRU = strtolower($sru);
if ($lowerSRU == $lowerPath){
echo "working";
} else {
echo "not working";
}
//echo "have capitals";
}
}
?>
ඔය ඉහත කෝඩ් එක ගොඩ දාගන්න පුලුවන් මචන් හැබැයි අවුල තියෙන්නේ.. මෙතනයි...
මට ඕන මචන්ලා php server requesting url එක අපි Pre difine කරපු array එකේ සර්ච් කරල ඒකේ Index එක හොයාගන්න... ඒක මම මේ විදියට කරා.
PHP:
$arrayItem = array_search($sru, $path);
මෙන්න මෙතන තමයි මචන් කේස් එක තියෙන්නේ...
මෙම array search එක වැඩ කරන්නේ.. මචන් හරිම format එකට විතරයි... උදා -
server requesting url -> /tipo.php කියල ගැහැව්වොත්...
array element එකත් අනිවාර්යෙන්ම තියෙන්න ඕනේ... /tipo.php කියලමයි... Tipo.php කියල තිබුනොත් එයාට හොයාගන්න බෑ...
ඇතතටම මට ඕනේ... case sensitive නැතිව මේ දේ කරන්න... ඒකියන්නේ මෙහෙම..
server requesting url -> /tipo.php
/Tipo.php
/TiPo.php
ඔය වගේ මොන විදියට case එක වෙනස් කරල දුන්නත්... අපි මේ ආකරයට Pre difine කරල තියෙන array element එක හොයාගන්න පුලවන් විදියට...
array ('tipo.php');
මේ දේ කරන විදිය මට කියල දෙන්න මචන්ලා....






