2009-08-16 9 views
2

Je viens de faire fonctionner PHP-CLI sur ma machine Windows pour que je puisse créer des scripts en PHP. Cependant, j'essaye d'écrire un script pour nettoyer mon dossier de téléchargement de Firefox de fichiers plus anciens que X nombre de jours, mais je n'arrive pas à faire fonctionner la fonction filemtime().filemtime() ne fonctionne pas sous Windows PHP-CLI

Voici la fonction que j'ai écrit:

function deleteOldFiles($dir, $days) { 
    $mydir = opendir($dir); 
    while(($file = readdir($mydir)) !== false) { 
    if($file != "." && $file != ".." && (filemtime($dir.$file) <= time() - ($days * 86400))) { 
     //unlink($dir.$file) or DIE("Failed to delete $dir$file<br />"); 
     echo filemtime($dir.$file); 
    } 
    } 
    closedir($mydir); 
} 

Et sur l'exécution de ce que je reçois l'erreur suivante pour chaque fichier:

Warning: filemtime(): stat failed for E:\My Documents\Downloadsphp-5.3.0-nts-Win32-VC9-x86.msi in E:\_scripts\cleanupDownloads\cleanupDownloads.php on line 10 

De la recherche que je l'ai fait, filemtime() devrait travailler dans Windows. Qu'est-ce que je fais mal?

+0

pouvez-vous poster la déclaration de $ dir, s'il vous plaît? –

Répondre

3

Warning: filemtime(): stat failed for E:\My Documents\Downloadsphp-5.3.0-nts-Win32-VC9-x86.msi in E:\_scripts\cleanupDownloads\cleanupDownloads.php on line 10

vous manquez une barre oblique inverse \ entre le répertoire et le nom du fichier. Ne pas oublier d'y échapper sur Windows (\\) ou simplement utiliser la barre oblique (/) ou la constante DIRECTORY_SEPARATOR de PHP.

modifier

Et un coup d'oeil à scandir(), glob() ou DirectoryIterator.

+0

Ouais, je suis un idiot et j'ai attrapé ça plus tard ... merci quand même! – PHLAK

Questions connexes