php - include и return

Discussion in 'PHP' started by rcc0023, 18 Sep 2009.

  1. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Как в функции return'ом выдать значение другого php-скрипта?

    то есть есть функция:

    PHP:
    banner($name){

    $file=fopen($name,'r');

    return 
    fread($file,999);

    }
    А файл $name будет содержать разрешение php и должен выполняться:

    PHP:
    <?
    if(
    $c==0.8953)echo (2*5-1).']';
    ?>
    На данный момент функция выдает исходник..
     
  2. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    function banner($name){

    $file=fopen($name,'r');
    $a = fread($file,999);
    $b = eval($a);

    return $b;

    }
     
  3. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Не самая лучшая идея...
    Лучше отдельно хранить функции и инклудить эти скрипты в основную страницу.
     
  4. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    кому как..
    использовал echo 'text'.banner().'text';
    все да ничего, но сейчас нужно исполнять файлы =(

    eval в данной ситуации не помог (
     
  5. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    инклюдь просто файл и все. Бред все это- открывать исполнять - есть готовое решение - EVAL
     
    1 person likes this.
  6. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    он значение в return не передает
     
  7. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    echo 'text';
    include('folders/banner.php');
    echo 'text';

    тоже самое что выполнить содержимое folder/banner.php и вывести результат

    если тебе надо обязательно ретурном, то через curl или подобное получаешь то что возвращается после исполнения и return'ишь
     
    2 people like this.
  8. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    PHP:
    <?php
        
    function banner ($name) { 
            
    ob_start();
            include(
    $name);
            
    $result ob_get_contents();
            
    ob_end_clean();
            return 
    $result;
        }
    ?>
     
    2 people like this.
  9. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    в последнем можно просто
     
  10. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    function banner($name)
    {
      return include $name;
    }
    Code:
    <?
    
    if($c == 0.8953)
    {
      return (2 * 5 - 1) . ']';
    }
    
    ?>