elseif ($REQUEST_URI=='/work/') or ($REQUEST_URI=='/work')

-Ронин-

Новичок
elseif ($REQUEST_URI=='/work/') or ($REQUEST_URI=='/work')

elseif ($REQUEST_URI=='/work/') or ($REQUEST_URI=='/work') {echo 'bla-bla';}

Подскажите как правильно сделать сранение?
 

-Ронин-

Новичок
нашел как правильно :)
elseif ($REQUEST_URI=='/work/' or $REQUEST_URI=='/work') {echo 'bla-bla';}

-~{}~ 02.03.06 16:48:

440hz
а что делает (...0,5)?
 

-Ронин-

Новичок
elseif ($REQUEST_URI=='/map/' or $REQUEST_URI=='/map') { include($ca.'map.php'); }
elseif ($REQUEST_URI=='/1/' or $REQUEST_URI=='/1') { include($ca.'1.php'); }
elseif ($REQUEST_URI=='/23/' or $REQUEST_URI=='/23') { include($ca.'23.php'); }
elseif ($REQUEST_URI=='/11/' or $REQUEST_URI=='/11') { include($ca.'11.php'); }

Подскажите пожалуйста как это можно упростить? =) А то если добавляешь новый скрипт приходится добавлять новую строчку. Было бы удобноее автоматически резать урл? Мой вариант будет быстрее автоматического разбора URI?
 

Yaponchick

Новичок
PHP:
include $ca.str_replace("/", "", dirname($REQUEST_URI)).'.php';
PHP 5.0.2 + Denwer

PHP:
$ca = "---/";
#URL: xxx.ru/asdf/a.php
#Include: ---/asdf.php
 

Solid

Drosera anglica
PHP:
/*
easy memorize URL
@author Solid
@version 1.0
@year 2004
*/

function emu() {
        $url = $_SERVER['REQUEST_URI'];
        while(strstr($url, '//')) {
                $url = str_replace('//', '/', $url);
        }
        if(substr($url, 0, 1)=='/') {
                $url = substr($url, 1);
        }
        if(substr($url, -1)=='/') {
                $url = substr($url, 0, -1);
        }
        $url = explode('/', $url);
        if($url[0]=='') {
             array_pop($url);
        }
        return $url;
}
Использовать просто:
PHP:
$emu = emu();
if($emu[0]=='work') {
// ;)
}
 

-Ронин-

Новичок
Solid
Notice: Undefined offset: 0 in z:\home\sit.zz\www\reflection.php on line 75

кричит на [0] из

$emu = emu();
if($emu[0]=='map') { include($ca.'map.php'); }

Убираю [0] больше не кричит.
вывел на страницу $emu ( echo $emu[0]) - на странице появилось просто сообщение массива "Array"

-~{}~ 03.03.06 11:02:

Yaponchick
интересное решение :)))
 

Solid

Drosera anglica
-Ронин-
Насамом деле если использовать правильно, то надо или проверять на isset или empty, или ставить @ перед $emu... или использовать самый лучший вариант:
PHP:
$emu = emu();

if(empty($emu[0])) {

} else if($emu[0]=='work') {

} else if($emu[0]=='about') {
 if(empty($emu[1])) {

 } else if($emu[1]=='me') {

 } else if($emu[1]=='others') {

 }
}
-~{}~ 03.03.06 11:11:

Yaponchick
Опасное решение. Надо делать проверки.
 

Фанат

oncle terrible
Команда форума
интересно, а кто-нибудь из местных песателей слышал о функции trim?..
 

Фанат

oncle terrible
Команда форума
я не тебя имел в виду.
а этих, горе-писателей.

а тебе надо посмотреть в сторону функции basename и избавиться от своей цепочки if-ов совсем.
 

-Ронин-

Новичок
Фанат
спасибо =) щас посмотрю :)

-~{}~ 03.03.06 15:53:

Фанат
Я понял, что basename при данной строке, содержащей путь к файлу, эта функция возвращает базовое имя файла и если имя файла оканчивается суффиксом suffix, он также отсекается.
Но чего-то не понял как это можно применить. к своей ситуаци... =( Подскажи пожалуйста.
 
Сверху