Op m'n intranet-server wil ik de inhoud van een logfile vanaf één van mijn servers weergeven.
Dit gaat via ajax(of eigenlijk gewoon via een javascript http request, want van XML is in dit geval geen sprake), dus op m'n intranet pagina heb ik een
En vanuit een javascript wordt een http-request gedaan naar een pagina op m'n intranet
Die backup.php plukt pad+filename uit m'n SQL server en vraagt dan aan de IIS op de betreffende fileserver om die file:
En op de fileserver wordt die file opgepakt:
Dit werkt, maar ik zou graag ergens onderweg iets van
Doen. En dat gaat niet, want win2k doet één of andere niet-ascii encoding. Ik heb 't nu werkend door in javascript
te doen, maar dat wil ik eigenlijk server-side doen. Maar het lukt mij dus niet om die textfiles (overigens logfiles van NTBackup) regel voor regel te lezen en daar <br /> tussen prutsen, bijvoorbeeld door:
, want dan krijg ik allemaal japanse zooi ineens:

Wanneer ik diezelfde pagina direct van de webserver van die fileserver opvraag, gaat 't wel goed.
Dit gaat via ajax(of eigenlijk gewoon via een javascript http request, want van XML is in dit geval geen sprake), dus op m'n intranet pagina heb ik een
HTML:
1
2
| <div id=logging> <div> |
En vanuit een javascript wordt een http-request gedaan naar een pagina op m'n intranet
JavaScript:
1
| http_request.open('GET', 'backup.php?logfile=200', true); |
Die backup.php plukt pad+filename uit m'n SQL server en vraagt dan aan de IIS op de betreffende fileserver om die file:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| if ($_GET['action']=='getbackuplog') { $sql="select server, logfile from tblBackupLog where id=".$_GET['id']; $myrs=$db->exec($sql); $content=''; if ($myrow=$db->fetch_array($myrs)) { $filename='http://'.$myrow['server'].'/backend/masbackend.php?action=getbackuplog&file='.base64_encode($myrow['logfile']); if($handle=fopen($filename,'b')) { fpassthru($handle); die(); } } } |
En op de fileserver wordt die file opgepakt:
PHP:
1
2
3
4
5
6
7
8
9
| $content=''; $filename=base64_decode($_GET['file']); if (file_exists($filename)) { $handle=fopen($filename,'r'); fpassthru($handle); die(); fclose($handle); } |
Dit werkt, maar ik zou graag ergens onderweg iets van
PHP:
1
| $content=nl2br($content); |
Doen. En dat gaat niet, want win2k doet één of andere niet-ascii encoding. Ik heb 't nu werkend door in javascript
JavaScript:
1
| content=content.replace(/\n/g,'<br />'); |
te doen, maar dat wil ik eigenlijk server-side doen. Maar het lukt mij dus niet om die textfiles (overigens logfiles van NTBackup) regel voor regel te lezen en daar <br /> tussen prutsen, bijvoorbeeld door:
PHP:
1
2
3
4
| while(!feof($handle)) { $content.=fgets($handle,4000).'<br /r>'; } |
, want dan krijg ik allemaal japanse zooi ineens:

Wanneer ik diezelfde pagina direct van de webserver van die fileserver opvraag, gaat 't wel goed.
Was advocaat maar vindt het juridische nog steeds leuk