Gå til innhold

Slette filer i mappe som er under 22 bytes


Anbefalte innlegg

Skrevet

Har denne koden:

$session_expire = 43200; // Session satt til 12 timer

$cookie_expire = time()+$session_expire; // Find out what date it will expire

ini_set("session.cookie_lifetime",$session_expire);// Set the cookie lifetime

session_save_path("sessions"); // Saves sessions to directory "sessions"

session_name("cyberstationsess"); // Sets the name of the session cookie

session_start(); // Starts session

 

Den lagrer alle sessions til en mappe som heter sessions..

Er det mulighet for å lage ett script som sletter tomme filer.

Når session tiden går ut blir kun tekstelementet i filen slettet, ikke hele filen..

 

Eksempel:

brukernavn|s:4:"nils";

 

Når session tiden da er ute blir filen slik:

 

Er det mulig at ett script automatisk sletter sessionen når den er tom? (under 10 byte f.eks.)

Videoannonse
Annonse
Skrevet (endret)
Er det mulig at ett script automatisk sletter sessionen når den er tom? (under 10 byte f.eks.)

5787465[/snapback]

 

Sletter dem seg ikke selv da? ( aldri brukt session men ville nå være idiotisk hvis dette ikke er tilfellet :) )

 

MEn med scandir og filesize() så skulle dette være en smal sak for deg :)

 

$dir = "/noe/rart";
$min_fil_byte = 10;
$filer = scandir($dir, true);

foreach( $filer => $filnavn){
    if( filesize( $dir."/".$filnavn)  < $min_fil_byte) 
       unlink( $dir."/".$filnavn);
}

 

Bare en kode jeg skrev mens jeg ventet på at potetene skulle koke.. uprøvd.. prøves på eget ansvar :)

 

 

kom på at scandir virker vel bare fra PHP >5

 

MEn det er noen som har skrevet en funksjon som gjør samme tingen..

 

function scandir($dir = './', $sort = 0) 
{
  
  $dir_open = @ opendir($dir);
  
  if (! $dir_open)
      return false;
      
      
  while (($dir_content = readdir($dir_open)) !== false)
          $files[] = $dir_content;
  
  if ($sort == 1)
      rsort($files, SORT_STRING);
  else
      sort($files, SORT_STRING);
  
  return $files;
}

 

EDIT: en liten kode feil... slettet filer over 10 byte.. ikke så bra :D

Endret av trondes
Skrevet

http://pear.php.net/package/PHP_Compat

 

er en pakke som gir tidligere versoner av php muligheten til å bruke funksjoner som kun finnes i php5.

som f.eks scandir. Hver manglende funksjon har en egen fil i pakken, allt du trenger å gjøre er å include denne. krever ingen instalering...

Gjest Slettet+6132
Skrevet
Noen som har ett slikt script jeg spør om!?

5808795[/snapback]

 

*host* sessionkoden din så veldig kjent ut :cool: *host*

 

Bruk eksempelet Findus ga, det er det beste. (Du trenger en kombinasjon av Findus og trondes sine eksempler). Det klarer du vel? ;)

Gjest Slettet+6132
Skrevet
Nei, klarer ikke det :p

5809823[/snapback]

 

La meg gjette; du har ikke engang prøvd enda. Am I right? Hvordan skal du kunne lære deg PHP om du ikke engang prøver litt?

 

Her er noen hint til de snuttene du trenger:

if (empty(file_get_contents($filename))) {
unlink($filename);
}

og

$dir = './';
 $dir_open = @ opendir($dir);

 if (! $dir_open)
     return false;
    
    
 while (($dir_content = readdir($dir_open)) !== false)
         $files[] = $dir_content;

Skrevet (endret)

Har du kanskje lyst til å registrere dine egne funksjoner for å håndtere sessoins? Isåfall så vil jeg anbefale at du leser http://no.php.net/manual/en/function.sessi...ave-handler.php og http://www.zend.org/zend/tut/session.php

 

Edit:

 

Dette er (eller pleide iallfall å være) et forum for utviklere hvor vi hjalp folk å løse slike problemer. Dette var ikke en rent-a-coder side.

 

Hvis du vil lære PHP så tar det tid og du kan ikke overleve som en copy-paste-monkey.

Endret av BlueEAGLE

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...