Показать сообщение отдельно

  #146  
Старый 05.08.2007, 01:12
NOmeR1
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
Провел на форуме:
6023777

Репутация: 2642


По умолчанию

Уже не помню, где я выкладовал как избавиться от php-инклуда, решил сделать поудобней + добавил проверку валидности файла и избавление от рекурсии
PHP код:
<?  
#(c) NOmeR1
error_reporting(0);  

...  

function 
inc($do,$inc,$posle)  
{

    
$bug $_SERVER['SCRIPT_NAME'];
    
$bug preg_replace('/^(.*)\/(.*)\.(.*)$/i','\\2',$bug);
    
$inc str_replace('http','',$inc); 
    
$inc str_replace('ftp','',$inc); 
    
$inc str_replace(':','',$inc); 
    
$inc str_replace('/','',$inc); 
    
$inc str_replace('\\','',$inc); 
    
$inc str_replace('.','',$inc); 
    
$inc str_replace($bug,'',$inc);
    
$inc htmlspecialchars($inc); 

    if(
file($do.$inc.$posle)) 
    {
        include(
$do.$inc.$posle); 
    } 

    else echo 
'Файла '.htmlspecialchars($do).$inc.htmlspecialchars($posle).' не существует'

}

...

if(
$_GET['page']) inc('',$_GET['page'],'.php'); 

...  

?>

Последний раз редактировалось NOmeR1; 18.08.2007 в 15:29..
 
Ответить с цитированием