[php] wykonywanie skryptu

0

czesc
potrzebuje funkci, ktora odpali podany skrypt i zwroci jego wykonanie do zmiennej. np:
mam np plik index.php

<?
php $x = wykonaj('plik.php');
echo "___ $x ___';
?>

plik.php:

<?php echo 'xxx'; ?>

po odpaleniu index.php zobaczymy ___ xxx ___

mam nadzieje, ze mnie zrozumieliscie :)

0

include albo require + manual?

0

Wczytujesz plik a później eval

0

jeszcze raz na innym przykladzie:

<?php
$tekst = PeHaPuj('echo "karolaq";'); //w $teskt jest teraz 'karolaq', ale na napis nie zostal wyswietlony
echo $tekst; //dopiero teraz wyswietlono napis 'karolaq'
?>
0

Hmm... Może pomoże coś buforowanie i potem odczyt z bufora, przypisanie do zmiennej, wyczyszczenie buforowania, wyłączenie buforowania i jazda dalej...

0

w 100% zgadzam sie z przedmowca :D
To jedyny sposob:

echo "text";
ob_start();

echo "hello";

$out = ob_get_contents();
ob_end_clean();

echo strtoupper($out);

Tylko musisz uwazac i rozbudowac to, poniewaz "text" nie zostanie wyswietlony.
Ale sama idea jest taka :)

0
desperat napisał(a)

To jedyny sposob:

e tam :P

mozna jeszcze tak:

  function wykonaj($file) 
  {
      $content = '';

      if (file_exists(ereg_replace("\?.*", '', $file))) 
      {
          $file = 'http://' . $_SERVER['HTTP_HOST'] . 
                      dirname($_SERVER['PHP_SELF']) . '/'. $file;
      }

      if ($fp = @fopen($file, 'rb')) 
      {
          while (strlen($buf = fread($fp, 8192))) $content .= $buf;
          fclose($fp); 
      }

      return $content;
  }
0
piechnat napisał(a)

e tam :P

mozna jeszcze tak:
......

Jak chcesz odczytac zawartosc stronki to tak, ale Karolaq'owi chodzilo o wykonanie skryptu php i zapisanie do zmiennej tego co ma zostac wyswietlone poprzez np echo.
Bo jak pobrac zawartosc pliku innego php'a ze strony www to tak, ale mu chodzilo o np swoj skrypt :D

0
desperat napisał(a)
piechnat napisał(a)

e tam :P

mozna jeszcze tak:
......

Jak chcesz odczytac zawartosc stronki to tak, ale Karolaq'owi chodzilo o wykonanie skryptu php i zapisanie do zmiennej tego co ma zostac wyswietlone poprzez np echo.
Bo jak pobrac zawartosc pliku innego php'a ze strony www to tak, ale mu chodzilo o np swoj skrypt :D

wlasnie dlatego dalem:

      if (file_exists(ereg_replace("\?.*", '', $file))) 
      {
          $file = 'http://' . $_SERVER['HTTP_HOST'] . 
                      dirname($_SERVER['PHP_SELF']) . '/'. $file;
      }

jak wpisze sciezke lokalna to i tak zostanie do niej dodane http:// itd... a funkcja file jak wiesz pewnie przy okresleniu protokolu, nie otwiera pliku lokalnie tylko otwiera polaczenie gniazdowe, w tym przypadku na port 80 i komunikuje sie wedle protokolu http, czyli nie dostanie echo 'dupa'; tylko samo dupa, bez naglowkow, sama tresc pliku...

1 użytkowników online, w tym zalogowanych: 0, gości: 1