Avatar billede iphase Nybegynder
20. april 2003 - 20:34 Der er 9 kommentarer og
1 løsning

Copy file every 24hours function

Hey there experter..

I forbindelse med styring af et "dages babe" program, skal jeg bruge en function
som hver 24time (ex kl 01:00 hverdag) kopiere den .jpg fil med det laveste timestamp (filerne bliver navngivet med $name= time(); når de bliver uploaded) fra et dir (queue dir) til et andet dir (public display dir), og samtidigt rename filen med date(dmY); så den hedder "dagsdato".jpg.

Der skal returnes navnet som filen får (ex "19042003.jpg")
hvis der ikke er nogen fil i queue folderen skal funktionen
retunere navnet på den nyeste .jpg fil i public display mappen, altså der hvor allerede kopierede filer ligger.

for at se om der er gået en dag, havde jeg forestillet mig noget med at man gemte et timestamp i en fil og så læste i den og samlignede med en time(); for at se om der var gået 24 timer.

Håber i kan hjælpe mig.. Jeg har alle tænke lige php moduler osv installeret hvis det er nogen hjælp og MySQL db.
Avatar billede erikjacobsen Ekspert
20. april 2003 - 20:42 #1
Det lyder som et cronjob (du bruger Linux eller lignende, ikke?)
Avatar billede iphase Nybegynder
20. april 2003 - 21:19 #2
Jo jeg bruger FreeBSD ;)

Men er ikke expert i det, men er gode venner med mit webhotels sysadmin. Men man kan godt fyrre et cron job af fra php ikk?
Altså jeg er ligeglad med hvordan det gøres bare det virker ;)
Avatar billede erikjacobsen Ekspert
20. april 2003 - 21:21 #3
Mnjah, man kan normalt køre PHP i et cronjob. Det var måske en idé
at teste det først. Har du shell-adgang?

(Jeg har ikke helt forstået hvad scriptet skal gøre, men mon ikke det
kan klares...)
Avatar billede iphase Nybegynder
20. april 2003 - 21:22 #4
hmm.. får lige at vide af sysadmin at han sagtens lige kan fixe en cron der gør at det jeg skal bruge.. så skal jeg bare bruge en funktion der checker efter den nyeste fil i et bestem dir. og retunere filens navn.

vil ikke bryde point systemet så hvis det ikke er svært er der mindre points. sådan er reglerne vidst, correct me if im wrong.
Avatar billede iphase Nybegynder
20. april 2003 - 21:23 #5
den nyeste .jpg fil mener jeg selvfølgelig :)
Avatar billede erikjacobsen Ekspert
20. april 2003 - 21:24 #6
Nåh - point - jeg skal ikke have point. Jeg skal lige se om jeg får
tid (der er unger der skal i seng) - det skal ikke afholde andre fra
at prøve .. :)
Avatar billede iphase Nybegynder
20. april 2003 - 21:26 #7
Fair nok.. :)
Avatar billede erikjacobsen Ekspert
20. april 2003 - 21:53 #8
Dette skulle finde nyeste .jpg fil:

<?
  $dir='.';
  $d = opendir($dir);

  $foundfiletime=0;
  while (($file=readdir($d))!==false) {
    if (eregi('\.jpg$',$file)) {
      $time=filemtime("$dir/$file");
      if ($time>$foundfiletime) {
        $foundfile=$file;
        $foundfiletime=$time;
      }
    }
  }
  closedir($d);
  print "$foundfile \n";
?>
Avatar billede iphase Nybegynder
20. april 2003 - 22:57 #9
Yes det virkede erik!

Resultat kan ses på www.easyfrag.dk forsiden, "dagens babe";
Avatar billede erikjacobsen Ekspert
20. april 2003 - 22:58 #10
Hov skulle det ikke være det ældste billede.

Kan du bruge et billede af mig?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester