Hoe lees je dit soort bestand uit?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joeri Jacobs

Joeri Jacobs

25/08/2012 18:18:06
Quote Anchor link
Hallo,

Ik zou graag dit bestand uitlezen: http://weerstation-brugge.be/customtextout10.txt

In dit bestand staan allemaal variabelen en hun waarden. Ik zou graag diezelfde waarden kunnen gebruiken in een ander php document.

Alvast bedankt voor de antwoorden en hulp.
 
PHP hulp

PHP hulp

04/02/2023 06:46:28
 
Veur Heur

Veur Heur

25/08/2012 18:26:19
Quote Anchor link
Heb je het bestand al eens geprobeerd te includen om te kijken of je de variabelen dan kunt gebruiken? Ik denk gewoon even logisch na en roep maar iets. Als je server geen remote include ondersteunt, kun je het bestand nog altijd binnen halen met file_get_contents en dan includen. Wel even BOF en EOF zoeken en vervangen lijkt me.
 
Bart V B

Bart V B

25/08/2012 18:28:08
 
Ozzie PHP

Ozzie PHP

25/08/2012 18:29:53
Quote Anchor link
Joeri, WAAROM maak je hier een nieuw topic over aan?
 
John Berg

John Berg

25/08/2012 18:36:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$handle
= @fopen("http://weerstation-brugge.be/customtextout10.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        if(strpos($buffer, '\$') === 0 )
          eval($buffer);
    
    if (!feof($handle)) {
        echo "Fout: unexpected fgets() fail\n";
    }

    fclose($handle);
}

?>
Gewijzigd op 25/08/2012 18:45:53 door John Berg
 
Joeri Jacobs

Joeri Jacobs

25/08/2012 18:43:30
Quote Anchor link
Ik had het al geprobeerd met de clientraw.txt en dit werkt dus maar ik zou het ook willen doen met die customtextou10.txt.

@ John berg: Kan ik dan de variabelen gewoon gebruiken na die code?
 
John Berg

John Berg

25/08/2012 18:46:54
Quote Anchor link
Yep

echo $sunriseTime;

zal 06:49 op je scherm neerzetten.
 
Joeri Jacobs

Joeri Jacobs

25/08/2012 18:49:40
Quote Anchor link
Ok, dank voor de hulp


Toevoeging op 25/08/2012 18:58:30:

Ik krijg deze fout: Parse error: syntax error, unexpected $end in /home/weathe1q/public_html/r.php on line 16

Deze code heb ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$handle
= @fopen("http://weerstation-brugge.be/customtextout10.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        if(strpos($buffer, '\$') === 0 )
          eval($buffer);
    
    if (!feof($handle)) {
        echo "Fout: unexpected fgets() fail\n";
    }

    fclose($handle);
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
echo $sunriseTime;
?>


Toevoeging op 25/08/2012 18:59:16:

dus die echo sunrise staat in hetzelfde bestand eronder
 
John Berg

John Berg

25/08/2012 19:11:43
Quote Anchor link
hmm .. ik had hem uit het blote hoofd gedaan, maar in Brugge vinden ze de fopen niet fijn.

Deze heb ik even ingetiept, en werkt bij mij. Is ook nog wat korter:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php        
  $s
= file_get_contents ("http://weerstation-brugge.be/customtextout10.txt");
  $a = explode("\n", $s);
  foreach ( $a as $value )
    if ( strpos( $value, '$' ) !== false ) {
       eval( $value );
     }

          
   echo $sunriseTime;
        
  ?>
Gewijzigd op 25/08/2012 19:12:41 door John Berg
 
Bart V B

Bart V B

25/08/2012 19:15:34
Quote Anchor link
Krijg ook dezelfde foutmelding dat komt omdat er in het .txt bestand een ; te weinig staat. Dus om die te onderdrukken zet je een @ voor de regel eval( $value );
Gewijzigd op 25/08/2012 19:15:55 door Bart V B
 
John Berg

John Berg

25/08/2012 19:19:24
Quote Anchor link
Hij kan nog korter:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php        
  $a
= explode("\n", file_get_contents ("http://weerstation-brugge.be/customtextout10.txt"));
  foreach ( $a as $value )
    if ( strpos( $value, '$' ) !== false )
      eval( $value );
          
   echo $sunriseTime;        
?>
 
Eddy E

Eddy E

25/08/2012 19:25:59
Quote Anchor link
Nog korter, zonder loop:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php    
eval(str_replace(array("BOF", "EOF", "\n"), "", file_get_contents ("http://weerstation-brugge.be/customtextout10.txt").';'));

echo $sunriseTime;        
?>
 
John Berg

John Berg

25/08/2012 20:01:16
Quote Anchor link
Als kers op de taart, de implementatie zoals ik hem zou maken (zonder foutafhandeling)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// in het bestand weerstation.php  
class Weerstation
{
  const Brugge = "http://weerstation-brugge.be/customtextout10.txt";
  const Waregem = "http://weerwaregem.be/data/customtextout10.txt"
  
  function LeesBericht( $station )
  {

    $a = explode("\n", file_get_contents ( $station ));
    foreach ( $a as $value )
      if ( strpos( $value, '$' ) !== false )
        eval( str_replace ( '$', '$this->', $value) );
  }
}


// het gebruik
include weerstation.php

$weerstation = new Weerstation();
$weerstation->LeesBericht( Weerstation::Brugge );

echo $weerstation->sunriseTime;

$weerstation->LeesBericht( Weerstation::Waregem );
echo '<pre>';print_r( $weerstation ); echo '</pre>';
?>


ik zag in een ander topic dat er ook een station in Waregem was, dat heb ik er nu bijgezet.
Gewijzigd op 25/08/2012 20:12:50 door John Berg
 

25/08/2012 21:34:54
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.