peterpopsMedlem sedan aug. 200135 inlägg
Hej!
Jag har en newbiefråga som borde vara väldigt enkla att lösa.
har en mapp på servern ($realPicPath) där folk ($uname) kan ladda upp bilder, som döps till $uname+slumpat-tal+filnamn, och man har även möjlighet att avsluta sitt konto, och då tänkte jag det vore bra om alla bilder som är relaterade till det kontot tas bort från servern, och tänkte göra detta med följande rad:
unlink("$realPicPath/$uname%");
tänkte så att % gör att alla filer med $uname i början tas bort, fast det verkar inte funka nå vidare, kan man inte göra på detta sättet ?
Det fungerar dock om jag har en fil som heter precis som $uname (utan filändelse), så det borde ju bara vara problem med %.
Inväntar hjälp ;)
MVH Peter
ThACRoWMedlem sedan dec. 2001314 inlägg
Prova byta ut % mot *, bara en gissning dock.
MatteMedlem sedan aug. 20002 970 inlägg
Du kan använda readdir för att läsa in filnamnen i en array, för att sedan med en slinga radera dom.
ThACRoWMedlem sedan dec. 2001314 inlägg
Jag slängde ihop en liten funktion, hade ändå inget annat för mig. Fast det kanske är dumt, du bör ju skriva den själv...
Cred går till Matte, jag har gjort funktionen efter hans exempel :)
function DeleteFiles ( $dirPath, $fileName )
{
$handle = opendir ( $dirPath );
while ( false !== ( $file = readdir ( $handle ) ) )
if ( $file != "." && $file != ".." && substr ( $file, 0, strlen ( $fileName ) ) == $fileName )
unlink ( $dirPath . "/" . $file );
closedir ( $handle );
}
DeleteFiles ( $realPicPath, $uname ); // Tar bort alla filer som börjar med $uname i katalogen $realPicPath
peterpopsMedlem sedan aug. 200135 inlägg
Ville bara tacka, buga och bocka! :r
Det fungerade alldelles utmärkt.
Kan även tillägga att jag tyvärr fortfarande är för mycket "newbie" för att kunnat skrivit ihop den funktionen själv, fast jag ska noga studera den och förhoppningsvis lära mig nåt av den.
Tack ännu en gång.
/MVh Peter