Har lite frågor om hur jag ska gå till väga.
1.jag har en mapp där det skapas .txt filer, och vill kunna lista dessa.
2.sen vill jag kunna ta bort vissa hur gör jag det?
2 svar · 411 visningar · startad av mr.mainline
Har lite frågor om hur jag ska gå till väga.
1.jag har en mapp där det skapas .txt filer, och vill kunna lista dessa.
2.sen vill jag kunna ta bort vissa hur gör jag det?
Du kan ju fula dig med att typ köra typ
shell_exec('ls -l | grep .txt');
Sedan kan du ju fortsätta med att köra lite cut för att endast få ut namnet osv. Detta exempel förusätter att du har Linux.
Finns säkert mycket bättre exempel men jag har aldrig gjort något liknande innan.
EDIT: För att ta bort en fil kör du unlink().
Har en gammal hemmasnickrad funktion som har fungerat bra för mig.
function EnumFiles($Dir, $CallbackFunctionName, $Extensions = array(), $Recursive = False){
$DirHandle = opendir($Dir);
while ( ($Filename = readdir($DirHandle)) !== False ) {
if( ($Filename == '.') or ($Filename == '..') )
continue;
$Filename = $Dir . '/' . $Filename;
// Callback if filename ends with $Extension (if $Extension is specified)
$pathinfo = pathinfo( $Filename );
if( is_file($Filename) and (empty($Extensions) or in_array(strtolower($pathinfo['extension']), $Extensions)) ){
if (call_user_func($CallbackFunctionName, $Filename) === False)
return False;
}
// Enum subfolder if $Recursive is True
if( is_dir($Filename) and $Recursive){
if( EnumFiles($Filename, $CallbackFunctionName, $Extensions, $Recursive) === False)
return False;
}
}
closedir($DirHandle);
}
$Dir är alltså sökvägen till katalogen.
$CallbackFunctionName är namnet på den funktion som ska köras för varje hittad fil.
$Extensions är en array med filändelser.
$Recursive bestämmer ifall sökningen ska ske rekursivt, dvs i alla underkataloger också.
Ett exempel kan behövas:
function printfilename( $filename ){
print $filename . '<br>';
return True;
}
EnumFiles( './images', 'printfilename', array('jpg', 'gif'), False );
Som du ser ska "callbackfunktionen" ta ett enda argument, nämligen filnamnet. Funktionen kan returnera antingen True eller False. Returnerar den True så fortsätter sökningen, returnerar den False avbryts sökningen. Alltså är det mycket viktigt att du returnerar True (om du inte vill avbryta sökningen förstås).