Jump to content
php.lv forumi

Recommended Posts

Posted

Tur notiek tikai ierakstīšana.

 

Labāk mēģini saprastr Kavacky piemēru.

if ( time() > $lastVisitTime + 20 )
{
 deleteInfo();
}

 

Ja (if) šobrīdējais laiks (time()) ir lielāks par pagājušo reizes laiku ($lasVisitTime vai $_SESSION['last_visit_time']) plus pieskaitītām 20 sekundēm, tad izsaucam funkciju (deleteInfo()), kas dzēš datus.

Posted

Izskatīties kodā tas varētu kaut kā šādi (un atceries, ka tie dati dzēsīies tikai tajā gadijumā, ja skripts tiks atvērts otreiz). Iztiksim bez funkcijas.

 

<?php
session_start();

if (isset($_SESSION['last_visit_time'])) {
 if ( time() > $_SESSION['last_visit_time'] + 20 )
 {
unlink('path/to/file.txt');
 }
}

$_SESSION['last_visit_time'] = time();
?>

  • 4 weeks later...
Posted

šāds kods:

<?php
$dat = date('dmYHis');
$laiks = file_get_contents('fails.php');
$bridis = $dat-$laiks;
if ($bridis >= 900)
{
unlink('fails.php');
}
?>

viņam būtu jaidzēš fails pēc 900 sekundēm, bet tas notiek uzreiz, pēc majaslapas refresha.

Posted (edited)
$dat = date('dmYHis');

$dat bus -> diena\menesis\gads\stundas\minutes\sekundes pec ta piemera.

Man ir aizdomas, ka faila ieraksti parasto time() vertibu.

Tada gadijuma meginats tiek no date("dmYHis") atnemt time().

Saprotams kads bus rezultats vienmer.

viņam būtu jaidzēš fails pēc 900 sekundēm

Nevari tada veida pa tiesho noteikt tas 900 sekundes.

$dat->01011970000000 kaut vai tad, ja pienemam, ka tas ir unix eras sakums.

time() tani bridi bus tikai 0.

Grozies ka gribi $bridis nekad nebus mazaks par $dat

EDIT: par 900 sekundem tikai:)

Edited by mounkuls
Posted

kas varētu būt šeit nepareizs:

<?php
$dat = time('');
if ($dat+1 < time(''))
{
unlink('fails.php');
}
?>

pēc 1 sekundes, nekas nenotiek. :/

kas varētu būtu nepareizs?

Posted

Eh, iesakau padomāt, ko tu tikko esi uzrakstījis :)

Pārtulkošu:

 

if(1 + 1 < 1) { izpildam; }

 

Kā redzi ir nepareiza loģika, un nekad nevarēs izpildīties šis if.

 

Tāpat es īsti nesaprotu, kapēc tev pēc 1s ir jaizdzēš fails. Tur jau ir jaizmanto sleep(1), lai panāktu 1 sekundes pauzi.

 

P.s

Tavā gadijumā, nav nepieciešams lietot pēdiņas iekšā time() funkcijai.

 

Starp citu, labāk izmanto $_SERVER['REQUEST_TIME'], ja tev ir php 5.1+, strādās ātrāk.

 

Un neredzu jēgu $dat pārtaisīt par mainīgo, ja tu tālāk to $dat neizmanto.

×
×
  • Create New...