![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 11.09.2007 Skąd: Bydgoszcz Ostrzeżenie: (20%) ![]() ![]() |
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'); wczytuję tu 5 razy plik o długości 500 000 bajtów, a następnie wyświetlam
$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>'; -------------------- |
|
|
![]() |
![]()
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 11.09.2007 Skąd: Bydgoszcz Ostrzeżenie: (20%) ![]() ![]() |
bufora w ogóle nie użyłem...
-------------------- |
|
|
![]()
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
![]() 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. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 11.09.2007 Skąd: Bydgoszcz Ostrzeżenie: (20%) ![]() ![]() |
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'); robię tester szybkości łącza, kilkukrotnie sprawdzam (pętla), bo wtedy wynik jest dokładniejszy (pobieram 5 wyników i podaję średnią)$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); } 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) ![]() ![]() -------------------- |
|
|
![]()
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. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 0 Dołączył: 11.09.2007 Skąd: Bydgoszcz Ostrzeżenie: (20%) ![]() ![]() |
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> <? ?> -------------------- |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 10:07 |