[PHP] Czyszczenie ekranu

0

Czy da się w jakiś łatwy, prosty i przyjemny sposób wyczyścić ekran za pomocą PHP. Jeśli tak to jak?

0

jak ekran ? w PHP ? chyba coś ci się pomyliło, bo php jest server-side więc może wyczyścić jak już ekran na serwerze (chociaż nie wiem jak :P) ale serwery często nie mają żadnych ekranów :P

0

Źle się wyraziłem, mój błąd. Podam przykład:

<?php
echo "Jakiś tam tekst\n";

if (coś) //spełniony
   {
   clear;     // upragniona funkcja
   echo "BŁĄD";
   }

Teraz po otworzeniu strony użytkownik zobaczy:

Jakiś tam tekst
BŁĄD

A chciałbym, aby zobaczył tylko "BŁĄD". O ten ekran mi chodziło :)

0

...niestety to o co Ci chodzi jest niewykonalne, PHP działa na serwerze a wynik jego działania przesyłany jest do przeglądarki, kiedy użytkownik otworzy stronę i zobaczy "Jakiś tam tekst" to znaczy że ten tekst już został do niego wysłany, skrypt PHP już nie może odwrócić tej operacji...

...można natomiast spowodować żeby wynik działania skryptu nie był przesyłany na bieżąco, tylko buforowany i wysyłany po wywołaniu odpowiedniej funkcji, przykład:

<?php

  ob_start(); //włączamy buforowanie (ob - output buffer)

  echo 'Jakiś tam tekst';

  if (true) 
  {
      ob_clean(); //czyścimy zawartość bufora

      echo 'Błąd';
  }

  ob_end_flush(); //opróżniamy bufor wysyłając jego zawartość do klienta

?>
0

Hmmm.... to też rozwiązanie. Przejrzałem kilka większych skryptów i tam to takich celów używają następującego "chwytu":

<?php

function foo()
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>fsadf</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
</head>
<body>
//coś tam
</body>
</html>
<?php
}
?>

Czyli generują "świeżą", bielutką stronke i ślą do klienta. Z tym, że taki zapis mi nie robi tego co robić powinien. Może czegoś zapomniałem, coś trzeba zrobić. Co o tym sądzicie?

0

BTW Da się w tym buforze zamienić jakieś słowo ? np jakbym chciał podświetlić występowanie słowa na stronie to muszę ładować zawartość strony do zmiennej i dopiero zamieniać i wyświetlać czy mogę to zrobić normalnie i tylko zmienić w buforze i go dopiero wysłać

0

http://pl2.php.net/manual/pl/function.ob-get-clean.php
czyli chyba tylko do zmiennej i z powrotem do ob

0
Adamo napisał(a)

BTW Da się w tym buforze zamienić jakieś słowo ?

<?php

  function my_callback_func($content)
  {
      $content = strtr($content, 'z', 'd');

      return $content;
  }

  ob_start('my_callback_func');

  echo 'zupa';

  ob_end_flush();

?>

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