Om het halfuur bestand leegmaken Script fout

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Vinny

Vinny

22/11/2007 20:38:00
Quote Anchor link
Hallo,

Het vervolg van topic: http://phphulp.nl/forum/showtopic.php?cat=12&id=40804&page=

Samenvatting:
Wat de bedoeling is, is dus om het halfuur een script uitvoeren waarmee er een htm bestandje helemaal wordt leeg gemaakt.
Ik heb helaas niet de mogelijkheid om cronjobs te doen. (ook al heb ik plesk)

Dus heb ik zelf een script zitte schrijve maar het werkt nog niet helemaal.
Ik weet waar het probleem zit alleen weet ik geen alternatieve of een oplossing hiervoor...

Bij het uitvoeren van dit script hieronder geeft hij een lege pagina weer en dat is niet goed!

Hieronder het script:
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
28
29
30
31
<?php
$nu
= time (); /* Expres UNIX stijl omdat het makkelijker is met rekenen hieronder */
$morgen = strtotime ("+30 minute", $nu); /* Altijd 1800 verschil */

$file = file_get_contents ('check.txt');
$uitkomst = $file - $nu;
echo $uitkomst;
/* hier gaat het mis en ik heb geen idee wat ik verkeerd doe
Want als je doet:
    $getal1 = 36;
    $getal2 = 16;
    $uitkomst = $getal1 - $getal2
    echo $uitkomst;
Dan krijg je als echo: 20
*/


if($uitkomst > 1800){
echo "Openen check..."; // eigenlijk overbodig maar was nodig om de fout te vinden
$bestand = "check.txt";
$schrijven = $nu;

$bestandopenen = fopen($bestand, "w");
fwrite($betandopenen, $schrijven);
fclose($betandopenen);

echo "Groter dan 1800 dus een halfuur is gereset en de rest van de pagina wordt getoond"
}
elseif($uitkomst < 1800){
echo "Lager dan 1800 dus het halfuur is zo gelaten en er wordt geen bestand leeg gemaakt en de rest van de pagina wordt getoond"
}
?>


Het leegmaken van check.txt heb ik niet gecheckt
Dus niet dat je oppeens krijgt zo van:
eerste keer schrijven 1000
tweede keer schrijver 300
en als uitkomst: 1000300
dat heb ik niet gecheckt en ik weet niet of hij dat standaard doet en ik heb ook geen idee hoe het dan zou moeten.
 
PHP hulp

PHP hulp

18/11/2024 11:38:19
 
Kumkwat Trender

Kumkwat Trender

22/11/2007 20:51:00
Quote Anchor link
wat is er hier zow moelijk aaan ??

ik heb het even in uren veranderd
wat je doet is
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
<?
$bestand
= "index.html"
$schrijven = "wat jij een uurtje wilt schrijven :S";
$bestandopenen = fopen($bestand, "a");
fwrite($betandopenen, $schrijven);
fclose($betandopenen);

include("tijd.php");
if(time(h) > $tijd) {
$schrijven2 = "<? $tijd = \"" . time(h) . "\"; ?>";
$bestand2 = "tijd.php";
$bestandopenen2 = fopen($bestand2, "w");
fwrite($betandopenen2, $schrijven2);
fclose($betandopenen2);
unlink("index.html");
}

?>


tijd.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$tijd
= "20";
?>


ik weet alleen nog niet of het werkt.
moet je even teste
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Vinny

Vinny

22/11/2007 21:21:00
Quote Anchor link
Ik snap je script niet helemaal
Ik zet er ff bij wat ik denk dat er gebeurd
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
<?
$bestand
= "index.html" // bestand om leeg te maken
$schrijven = "wat jij een uurtje wilt schrijven :S"; // niet leeg maar dat neer zetten
$bestandopenen = fopen($bestand, "a"); // bestand openen
fwrite($betandopenen, $schrijven); // het schrijven ervan
fclose($betandopenen); // sluiten ervan

include("tijd.php"); // de tijd.php opvragen met als tijd"20" geen idee wat 20 daar doet?
if(time(h) > $tijd) { // wat doet die h daar? uren?
$schrijven2 = "<? $tijd = \"" . time(h) . "\"; ?>"; // het opnieuw schrijven
$bestand2 = "tijd.php"; // welk bestand te bewerken voor tijd
$bestandopenen2 = fopen($bestand2, "w"); // het openen van bestand tijd
fwrite($betandopenen2, $schrijven2); // het schijven ervan
fclose($betandopenen2);  // het sluiten ervan
unlink("index.html"); // het leeg maken van het bestand
}
?>


Dat is wat ik begrijp kun je het misschien nog iets beter uitleggen want er zitten geen echo's bij zodat je kunt zien of het script wel werkt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
unlink("index.html");

had toch ook gekunt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
unlink($bestand);


Of zit ik daar weer naast???

Wat doen die h en die 20 nou precies want ik snap het niet helemaal?

EDIT: Ik heb er echo's tussen gedaan en het blijkt een lege pagina te geven dus ik denk niet dat het script werkt...

en er zit geen error handeling in dus het is een beetje de vraag waar het probleem zit...
Gewijzigd op 01/01/1970 01:00:00 door Vinny
 
- SanThe -

- SanThe -

22/11/2007 21:29:00
Quote Anchor link
Het is heel simpel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$limit
= @file_get_contents('check.txt');
if(($limit - time()) < 0)
{

    file_put_contents('check.txt', strtotime('+30 minute', time()));
    echo 'Het is tijd.';
}

else
{
    echo 'Het is nog geen tijd.';
}

?>
 
Vinny

Vinny

22/11/2007 21:30:00
Quote Anchor link
SanThe schreef op 22.11.2007 21:29:
Het is heel simpel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$limit
= @file_get_contents('check.txt');
if(($limit - time()) < 0)
{

    file_put_contents('check.txt', strtotime('+30 minute', time()));
    echo 'Het is tijd.';
}

else
{
    echo 'Het is nog geen tijd.';
}

?>


Yep dat werkt!

Heel erg bedankt voor de moeite nemen!

EDIT: 22.11.2007 21:29 oei 1 minuut ervoor toen ik hem teste was het precies tijd, daarna refreshde ik hem en toen zij die geen tijd ;)

Ik snap er geen ruk van wat je heb geschreven behalve dan dat je UNIX timestamp gebruikt met een ifelse en een open file en opslaan.

Alleen verder snap ik er niks van en staat er ook niet meer in o.0

Maar nogmaals bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Vinny
 



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.