Hallo allemaal,

Ik heb een script gemaakt die een output in TXT geeft.
door de omvang van de website kan dit niet veranderd worden naar een database of dergelijke.

Dit txt bestandje bevat een nummer.
domein. /name.txt
Als je dit text bestandje opent staat er een nummer 2,3,4 of 5 in.
en ik wil dit nummer met bijv. een cronjob script om een specifiek tijdstip aanpassen.

Nummer 2 moet veranderd worden naar 4 en nummer 3 naar 2.
overzicht van nummers:
2 => 4
3 => 2
4 => 4
5 => 5

Hoe kan ik dit automatisch laten aanpassen steeds om een specifiek tijdsstip bijv. om 01:00
Ik kan me niet indenken dat je het hele script overhoop moet gooien?
Een tabelletje extra, een paar queries en je bent er.

Maar aan de hand van dit moet je toch wel wat kunnen lijkt me?

<?php
$lines = file ('/files/naam.txt');
foreach($lines as $line) {
echo $line;
}
?>

Kijk wat er in $line staat, en doe een str_replace()

Ook hoop ik dat /files/ niet direct toegankelijk is. Het lijkt mij niet de bedoeling als iemand de databestanden zelf kan uitlezen? Overweeg eens sterk of ze die anderzijds ook buiten je webroot kan plaatsen.
dat heb ik nu gedaan, als ik de PHP pagina nu bezoek zie ik het volgende staan:

2Array ( [0] => 4 )

2 wordt dus vervangen door 4.
Maar het txt bestand blijft op 2 hangen.
en wordt dus ook niet aangepast door dit script.
ook niet nadat ik het heb laten runnen door cronjob
Je zult de wijzigingen ook op een of andere manier moeten wegschrijven? In wezen lees je een kopie uit - je bent niet rechtstreeks het origineel aan het bewerken als je dit soms dacht.
oh oke, maar is dat wel mogelijk om dat te doen met een php script dan?
want dat is eigenlijk wat graag wou hebben/maken
Je bent geweldig Thomas.
Dit is precies wat ik zocht.
en het is gelukt met een beetje creativiteit.


Heel erg bedankt allen
vraagje: hoe haalt jouw script nu de waarde in die file op?

Dus los van het proces om dit aan te passen: stel er staat nu 3 in dat bestand.

Hoe komt die 3 in een variabele terecht?
mogelijke functies zijn file_get_contents(), include, file() etc.

Ik zat aan een andere oplossing te denken waarbij je mogelijk geen cronjob nodig hebt, maar dat is afhankelijk van de gebruikte ophaalmanier.
Waar zat je precies aan te denken dan?

De file wordt opgehaald met; file_get_contents(...

als je hem via een url ophaalt, dan kun je via .htaccess in plaats van een txt file een php-script uit laten voeren.

Bijvoorbeeld:
RewriteRule path/*.txt script.php [L]

en als simpel voorbeeld, kan script.php dan <?php echo 123;?> bevatten

Voor wie of wat dan http://site.nl/path/naam.txt aansprak, lijkt het dan of naam.txt gewoon 123 bevatte.

En in plaats van alleen maar echo 123, kun je natuurlijk een hele structuur bedenken dat de output bijvoorbeeld 12.5 is als het voor 10 uur 's ochtends is,
je tussen 10 en 12 iets uit een database haalt of later op de dag de koers van de dollar.

Maar dat gaat alleen op, als je een url gebruikt.

Reageren