Aleksejs Posted December 20, 2007 Report Share Posted December 20, 2007 Žēl. Link to comment Share on other sites More sharing options...
andrisp Posted December 20, 2007 Report Share Posted December 20, 2007 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. Link to comment Share on other sites More sharing options...
andrisp Posted December 20, 2007 Report Share Posted December 20, 2007 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(); ?> Link to comment Share on other sites More sharing options...
*jancis38* Posted January 16, 2008 Author Report Share Posted January 16, 2008 šā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. Link to comment Share on other sites More sharing options...
mounkuls Posted January 17, 2008 Report Share Posted January 17, 2008 (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 January 17, 2008 by mounkuls Link to comment Share on other sites More sharing options...
KillerBean Posted January 17, 2008 Report Share Posted January 17, 2008 vari mēģināt ar time stampiem kko darīt... bet pats par sevi. RTFM www.php.net! Link to comment Share on other sites More sharing options...
*jancis38* Posted January 20, 2008 Author Report Share Posted January 20, 2008 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? Link to comment Share on other sites More sharing options...
Lynx Posted January 20, 2008 Report Share Posted January 20, 2008 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. Link to comment Share on other sites More sharing options...
*jancis38* Posted January 20, 2008 Author Report Share Posted January 20, 2008 (edited) es nezinu kā lai panāk strādājošu effektu. :/ paldies par palīdzību, naksies vien iztikt. ;) Edited January 20, 2008 by *jancis38* Link to comment Share on other sites More sharing options...
Recommended Posts