Bestanden-informatie

Door Terence Hersbach, 20 jaar geleden, 4.282x bekeken

Met het volgende stukje script verkrijg je informatie van bestanden / mappen.

meer over hoe je een expression in kan vullen vind je op php.net bij de functie glob.

voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$files
= getFiles('*');
echo '<pre>';
print_r($files);
?>

geeft bij mij terug:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Array
(
    [0] => Array
        (
            [name] => css
            [type] => dir
            [readable] => 1
            [writeable] => 0
            [executable] => 1
            [uploaded] => 0
        )

    [1] => Array
        (
            [name] => index.php
            [type] => file
            [readable] => 1
            [writeable] => 0
            [executable] => 0
            [uploaded] => 0
            [filesize] => 896
            [changed] => 1216847491
            [modified] => 1216847491
        )

)

Gesponsorde koppelingen

PHP script bestanden

  1. bestandeninformatie

 

Er zijn 6 reacties op 'Bestandeninformatie'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Terence Hersbach
Terence Hersbach
20 jaar geleden
 
0 +1 -0 -1
let erop: glob is sneller dan opendir, glob is op system-level en gebeurt niet via php.
Douwe
Douwe
20 jaar geleden
 
0 +1 -0 -1
Leuke snippetje :) Ik heb hem een klein beetje aangepast (if you don't mind): (Niet getest)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
function getFiles($sExpression, $mFlags = null)
{

    $aFiles = glob($sExpression, $mFlags);
    
    $aAllFiles = array();
    
    foreach($aFiles as $sFile)
    {

        if(is_dir($sFile))
        {

            $aAllFiles[] = array(
                'name'        => $sFile,
                'type'        => 'dir',
                'readable'    => is_readable($sFile),
                'writeable'   => is_writable($sFile),
                'executable'  => is_executable($sFile),
                'filescount'  => count(glob($sFile."/*"))
            );
        }

        elseif (is_file($sFile))
        {

            $aAllFiles[] = array(
                'name'        => $sFile,
                'type'        => 'file',
                'readable'    => is_readable($sFile),
                'writeable'   => is_writable($sFile),
                'executable'  => is_executable($sFile),
                'uploaded'    => is_uploaded_file($sFile),
                'filesize'    => filesize($sFile),
                'changed'     => filectime($sFile),
                'modified'    => filemtime($sFile)
            );
        }
    }

    
    return $aAllFiles;
}

?>

Geeft dit terug: (Zelf aangepast, niet getest)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Array
(
    [0] => Array
        (
            [name] => css
            [type] => dir
            [readable] => true
            [writeable] => false
            [executable] => true
            [uploaded] => false
            [filescount] => 12
        )

    [1] => Array
        (
            [name] => index.php
            [type] => file
            [readable] => true
            [writeable] => false
            [executable] => false
            [uploaded] => false
            [filesize] => 896
            [changed] => 1216847491
            [modified] => 1216847491
        )

)

Aanpassingen:
1. Geeft readable, writable, executable en uploaded terug als Booleans.
2. Geeft een map ook het aantal bestanden in de map mee (in 'filescount')
Lode
Lode
20 jaar geleden
 
0 +1 -0 -1
in php5.1+ heb je hiervoor de DirectoryIterators i.s.m. SplFileInfo
Onbekend Onbekend
Onbekend Onbekend
20 jaar geleden
 
0 +1 -0 -1
Dit zijn nu de makkelijke en leuke snippets..
Remi
Remi
20 jaar geleden
 
0 +1 -0 -1
is het zo de bedoeling of zie ik het goed: in de eerste code word
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<pre>

niet afgelsoten?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Terence Hersbach
Terence Hersbach
20 jaar geleden
 
0 +1 -0 -1
@Remi, dat heb ik inderdaad niet gedaan, maar het was dan ook niet mijn doel om valid xhtml neer te zetten.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. bestandeninformatie

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.