[php] file inlezen in code *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • nzyme
  • Registratie: November 2001
  • Laatst online: 29-07 15:47
Wat ik wil:

ntop verzameld gegevens over me network traffic en deze wil ik opslaan in een simpel bestandje. ntop kan zelf n dump maken maar niet naar n file dus doe ik dat met dit script:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?PHP
$ntopdump = fopen('http://localhost:3000/dumpData.html?language=php','r');
$dumpfile = fopen('/home/admin/public_html/ntop-php/dump.txt','w');

$ntopdump_contents = '';

while(!feof($ntopdump))
{
    $ntopdump_contents .= fread($ntopdump, 1024);
}
fputs($dumpfile,$ntopdump_contents);

fclose($dumpfile);
fclose($ntopdump);

include("./dump.txt");
?>
<HTML><HEAD></HEAD>
<TITLE>NTOP Network Traffic Counter</TITLE>
<BODY>
</BODY>
</HTML>


maar nu zie k bij het opvragen van de pagina alle gegevens al meteen op het scherm wat ik niet wil. Iemand enig idee? of ervaringen met eigen custom ntop pagina's?

damn titel vergeten 8)7

[ Voor 36% gewijzigd door curry684 op 01-01-2004 23:52 . Reden: afsluiten met [/code] aub ;) ]

| Hardcore - Terror |


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
nu de titel nog ;)

ow en probeer is [code=php] tags te gebruiken om je vehaaltje heen


ontopic:
gebruik fopen ipv include..

met include parse je het idd direct in je webpagina

[ Voor 37% gewijzigd door BasieP op 01-01-2004 23:05 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Als je een beetje een nieuwe php op je server hebt draaien kan je ook gebruik maken van file_get_contents()

Da's buffered naar je memory enzow. lekker snel, en geen onnodige freads meer :)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Waarom schrijf je het uberhaupt eerst naar een file om het daarna weer binnen te lopen halen :?
PHP:
1
2
3
4
5
6
7
<?
$vul_de_var = 'hey';
?>
<html>
...
<p><?=$vul_de_var?></p>
</html>

Werkt prima en een stuk netter lijkt me :?
Papa Eend schreef op 01 januari 2004 @ 23:55:
Als je een beetje een nieuwe php op je server hebt draaien kan je ook gebruik maken van file_get_contents()

Da's buffered naar je memory enzow. lekker snel, en geen onnodige freads meer :)
En waarschijnlijk doet die functie op de achtergrond exact hetzelfde als een fopen, fread en fclose :X
Hoezo is een fread ineens overbodig trouwens als er een 'shortcut' methode geschreven is? file_get_contents is niet voor alle situaties waar fread wel bruikbaar is, bruikbaar.

[ Voor 58% gewijzigd door ACM op 02-01-2004 01:32 ]


Acties:
  • 0 Henk 'm!

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
Description
string file_get_contents ( string filename [, int use_include_path [, resource context]])


Identical to file(), except that file_get_contents() returns the file in a string.

file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance.

Acties:
  • 0 Henk 'm!

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
wat dacht je trouwens van fpassthru

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
trogdor schreef op 02 januari 2004 @ 01:52:
It will use memory mapping techniques if supported by your OS to enhance performance.
Ik zie niet zo goed in waarom memory mapping zoveel sneller is dan een fread als je toch de hele file moet inlezen... Magoed.

Ik snap sowieso niet zo waarom er uberhaupt een file weggeschreven en vervolgens weer ingelezen moet worden, tot die tijd zou er eigenlijk niet eens gediscussieerd moeten worden over de beste file-inlees-methode :X

Acties:
  • 0 Henk 'm!

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 04-08 16:29

Tim

ACM schreef op 02 januari 2004 @ 11:59:
[...]
Ik snap sowieso niet zo waarom er uberhaupt een file weggeschreven en vervolgens weer ingelezen moet worden
Ik denk vanwege
ntop kan zelf n dump maken maar niet naar n file dus doe ik dat met dit script
Neemt niet weg dat het nog steeds een beetje vreemd is..

Overigens, zoals je in het script aangeeft kan je de gegevens van ntop wel gewoon uitlezen (via http). Ik weet niet wat je van plan bent te gaan doen, maar als je grafiekjes probeert te maken van de gegevens van ntop dan zou ik eens naar ntop+rrd kijken

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
was naar aanleiding van dit topic nieuwsgierig geworden wat sneller zou zijn en heb even een benchmarkje gedraaid waarbij ik deze twee stukjes code heb vergelijkt:

PHP:
1
2
$filename = "bla.txt";
$contents = file_get_contents($filename);

en
PHP:
1
2
3
4
$filename = "bla.txt";
$handle = fopen($filename, "r"); 
$contents = fread($handle, filesize($filename)); 
fclose($handle);


resultaten:
grootte in te lezen fileAVG file_get_contents()AVG fread()
3 bytes0.00065 s0.00068 s
74.499 bytes0.00190 s0.00264 s
Pagina: 1