Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Strona dziwnie się wyświetla, - podwójnie
firex
post 22.10.2007, 19:21:42
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.09.2007
Skąd: Bydgoszcz

Ostrzeżenie: (20%)
X----


Piszę tutaj, bo temat dotyczy i PHP i wyświetlania.
www.innyportal.cba.pl/info/info.php
^strona wyświetla się podwójnie

kod PHP (część, która jest za to odpowiedzialna)
Kod
$file=file_get_contents('dane1');
$file.=file_get_contents('dane1');
$file.=file_get_contents('dane1');
$file.=file_get_contents('dane1');
$file.=file_get_contents('dane1');
echo '<p style="display: none;">'.$file.'</p>';
wczytuję tu 5 razy plik o długości 500 000 bajtów, a następnie wyświetlam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
batman
post 22.10.2007, 20:14:58
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Zgaduję, że użyłeś funkcji ob_end_flush(), do wyczyszczenia bufora. Zamiast tego użyj ob_end_clean() i powinno być ok.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
firex
post 22.10.2007, 22:18:56
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.09.2007
Skąd: Bydgoszcz

Ostrzeżenie: (20%)
X----


bufora w ogóle nie użyłem...


--------------------
Go to the top of the page
+Quote Post
batman
post 23.10.2007, 06:59:21
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Mógłbym przysiąc, że zamiast file_get_contents, widziałem ob_get_contents. Pewnie zmęczenie winksmiley.jpg
W jakim celu pobierasz dane kilkakrotnie przez file_get_contents? Tutaj szukałbym przyczyny Twoich problemów.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
firex
post 24.10.2007, 15:07:43
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.09.2007
Skąd: Bydgoszcz

Ostrzeżenie: (20%)
X----


Cytat(batman @ 23.10.2007, 07:59:21 ) *
W jakim celu pobierasz dane kilkakrotnie przez file_get_contents? Tutaj szukałbym przyczyny Twoich problemów.

kilkakrotne było nieprzemyślane, bo nic nie dawało. teraz wygląda to tak:
Kod
$file=file_get_contents('dane1');
$rozm=(strlen($file)/1024);

for($i=0;$i<5;++$i)
{
  $czas1=explode(' ', microtime());
  echo '<p style="display: none;">'.$file.'</p>';
  $czas2=explode(' ', microtime());
  //ob_end_flush()
  $czas=$czas2[1]-$czas1[1];
  
  $szybk[]=round($rozm/$czas, 2);
}
robię tester szybkości łącza, kilkukrotnie sprawdzam (pętla), bo wtedy wynik jest dokładniejszy (pobieram 5 wyników i podaję średnią)
problem chyba leży w echo, echuje dane, bo to jedyny sposób jaki mi przyszedł na myśl, żeby sprawdzić szybkość (samo wczytanie do zmiennej nic nie dało, nie obciążyło skryptu - a musi, żeby sprawdzić czas)

questionmark.gif

questionmark.gif


--------------------
Go to the top of the page
+Quote Post
batman
post 24.10.2007, 17:51:34
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W podanym przez Ciebie fragmencie kodu wyświetlasz zawartość pliku 5 razy. Nie ma tutaj nic, co pozwoliłoby stwierdzić dlaczego strona wyświetla się dwukrotnie.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
firex
post 24.10.2007, 18:25:30
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 11.09.2007
Skąd: Bydgoszcz

Ostrzeżenie: (20%)
X----


Kod
<? header('Content-type: text/html; charset=iso-8859-2');
$agent=explode('/', trim($_SERVER['HTTP_USER_AGENT']));?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Description" content="Tu podaj opis twojej strony" />
<meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Informacje o tobie :: Tester szybko¶ci ł±cza :: Speed test</title>
<style type="text/css">
h1{text-align: center;}
h2{font-size: 20px;}
p{margin:0;}
p span{display:block;}
abbr{cursor: help;}
img{border: none;}
#w3c{float:right;}
#load{display: none; margin: 10px; color: #505050; font-weight: bold;}
label{display: block;}
input{width:270px;}
#ip1,#ip2{display:inline; font-weight: bold;}
#ip1{color: red;}
#ip2{color: green;}
</style>
<script type="text/javascript">
document.getElementById("load").style.display = "block"
</script>
</head>

<body>

<?
$IP=trim($_SERVER['REMOTE_ADDR']);

echo '<p>Przychodzisz z adresu: <a href="'.$_SERVER['HTTP_REFERER'].'">'.$_SERVER['HTTP_REFERER']."</a></p>\n";
echo '<p>Przegl±darka: '.$_SERVER['HTTP_USER_AGENT'].'</p>';
echo '<p id="ip">IP: '.$IP;
if($IP=='127.0.0.1'){echo ' <span id="ip1">IP lokalne - localhost</span></p>';}elseif($IP>'10.0.0.0' && $IP<'10.255.255.255' || $IP>'172.16.0.0' && $IP<'172.31.255.255' || $IP>'192.168.0.0' && $IP<'192.168.255.255'){echo ' <span id="ip1">Wewnętrzne :: Internal</span>';}else{echo ' <span id="ip2">Zewnętrzne :: External</span></p>';}
echo '<p>HOST: '.gethostbyaddr($_SERVER['REMOTE_ADDR'])."</p>\n";
echo '<p>Port: '.$_SERVER['REMOTE_PORT']."</p>\n";

echo '<h2>Tester szybko¶ci ł±cza :: Speed test</h2>
<p id="load">Trwa testowanie szybko¶ci twojego ł±cza...</p>';

if($agent[0]!='W3C_Validator'){

$file=file_get_contents('dane1');
$rozm=(strlen($file)/1024);

for($i=0;$i<5;++$i)
{
  $czas1=explode(' ', microtime());
  echo '<p style="display: none;">'.$file.'</p>';
  $czas2=explode(' ', microtime());

  $czas=$czas2[1]-$czas1[1];
  
  $szybk[]=round($rozm/$czas, 2);
}

foreach($szybk as $ln)
{
    $wsz=$wsz+$ln;
}
$wsz=$wsz/count($szybk);

$szybk=$wsz;
$szybk2=round($szybk*8, 2);
echo '<p>Szybko¶ć ł±cza:<span>'.$wsz.' <abbr title="Kilobajtów na sekundę">KB/s</abbr></span><span><big>'.$szybk2.' <abbr title="Kilobitów na sekundę">kb/s</abbr></big></span></p>';

}

?>
  
<script type="text/javascript">
document.getElementById("load").style.display = "none"
</script>
  
</body>
</html>
<?  ?>


--------------------
Go to the top of the page
+Quote Post
batman
post 24.10.2007, 19:19:40
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W podanym przez Ciebie kodzie nie ma nigdzie podwójnego wyświetlania danych. Na lokalnym serwerze wszystko się dobrze wyświetliło - czyli raz. W źródle strony widać wyraźnie, że jedna strona została wyświetlona dwukrotnie. Dlaczego? Nie mam pojęcia.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:07