Alle data van ftp_rawlist in een array stoppen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Java Developer Onderzoeksinstituut Architec

Bedrijfsomschrijving Als Senior Java Developer kom je te werken bij een internationaal gerenommeerd onderzoeksinstituut. Dagelijks is dit instituut verantwoordelijk voor de juiste samenwerking, toegankelijkheid en communicatie voor circa 9000 interne gebruikers. In een team van elf ontwikkelaars ben je als Senior Java Developer verantwoordelijk voor het ontwikkelen van functionele ontwerpen naar technische oplossingen. Deze projecten bestaan o.a. projecten zoals het implementeren van Elastic Search en het koppelen van CMS. Ook fungeer je als vraagbaak voor je collega’s op het gebied van backend softwareontwikkeling. Daarnaast denk je graag mee op het gebied van architectuur qua mogelijke oplossingen en innovatie. Momenteel zijn

Bekijk vacature »

Robin van der Vliet

Robin van der Vliet

27/07/2010 19:58:55
Quote Anchor link
Ik wil graag dat alle data die word opgevraagd in de array $files word gestopt.

Ik dacht zo ongeveer:
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
Array
(
    [0] => Array
        (
            [name] => nl
            [isdir] => true
            [permissions] => drwxr-xr-x
            [owner] => username_robin
            [group] => username_robin
            [size] => 4096
            [lastedit] => 1280257137
        )
    [0] => Array
        (
            [name] => en
            [isdir] => true
            [permissions] => drwxr-xr-x
            [owner] => username_robin
            [group] => username_robin
            [size] => 4096
            [lastedit] => 1280255369
        )
    [0] => Array
        (
            [name] => header.php
            [isdir] => false
            [permissions] => drwxr-xr-x
            [owner] => username_robin
            [group] => username_robin
            [size] => 8419
            [lastedit] => 1280257327
        )
)



Dit is mijn beignetje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<pre>
<?php

$conn_id
= ftp_connect($server);
$login_result = ftp_login($conn_id, $username, $password);
$buff = ftp_rawlist($conn_id, $dir);
ftp_close($conn_id);

//print_r($files);
?>

</pre>
Gewijzigd op 28/07/2010 12:34:16 door Robin van der Vliet
 
PHP hulp

PHP hulp

24/10/2020 03:01:24
 
P Lekensteyn

P Lekensteyn

27/07/2010 20:15:57
Quote Anchor link
Daar kun je toch wel een RE voor schrijven.
Aan de hand hiervan: drwxr-x--- 3 vincent vincent 4096 Jul 12 12:16 public_ftp
Maak ik deze RE:
/^(.[rstwxX\-]{9})\s+(\d+)\s+([0-9a-zA-Z]+)\s+([0-9a-zA-Z]+)\s+(\d+)\s+(.+?)\s+(.+)$/
 
Robin van der Vliet

Robin van der Vliet

27/07/2010 20:25:50
Quote Anchor link
Euuuhh.... ik ben niet echt bekend met regexen.
Maar hoe moet ik die dan toepassen?
Gewijzigd op 28/07/2010 12:34:07 door Robin van der Vliet
 
Robin van der Vliet

Robin van der Vliet

30/07/2010 11:02:33
Quote Anchor link
Ik heb toch wat geprobeerd en ik heb nu dit:

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
<pre>
<?php
$conn_id
= ftp_connect($server);
$login_result = ftp_login($conn_id, $username, $password);
$buff = ftp_rawlist($conn_id, $directory);
ftp_close($conn_id);
$i = 0;
foreach ($buff as $value)
{

    preg_match('/^(.[rstwxX\-]{9})\s+(\d+)\s+([0-9a-zA-Z]+)\s+([0-9a-zA-Z]+)\s+(\d+)\s+(.+?)\s+(.+)$/', $buff[$i], $matches[$i]);
    $i++;
}

print_r($matches);

?>

</pre>
maar dit komt eruit

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
Array
(
    [0] => Array
        (
            [0] => drwxr-xr-x  23 ftp      ftp          4096 Jul 28 12:04 .
            [1] => drwxr-xr-x
            [2] => 23
            [3] => ftp
            [4] => ftp
            [5] => 4096
            [6] => Jul
            [7] => 28 12:04 .
        )
    [1] => Array
        (
            [0] => drwx--x--x   8 ftp      ftp          4096 Jul 17 00:56 ..
            [1] => drwx--x--x
            [2] => 8
            [3] => ftp
            [4] => ftp
            [5] => 4096
            [6] => Jul
            [7] => 17 00:56 ..
        )
    [2] => Array
        (
            [0] => -rw-r--r--   1 ftp      ftp           353 Jul 27 07:43 .htaccess
            [1] => -rw-r--r--
            [2] => 1
            [3] => ftp
            [4] => ftp
            [5] => 353
            [6] => Jul
            [7] => 27 07:43 .htaccess
        )
.........
)



Er zitten nog enkele foutjes in zoals:
De d word nog meegerekent als permission terwijl dat eigenlijk is of het een map is of niet.
En hij zet de dag, uur en minuut en naam in dezelfde variable en ik wilde graag als het kan dat er dan een variable is met een timestamp en een variable met de naam.
Gewijzigd op 30/07/2010 11:03:17 door Robin van der Vliet
 
Hipska BE

Hipska BE

30/07/2010 11:06:56
Quote Anchor link
Je kunt je regex groups ook een naam geven zodat de juiste index in de match array komt.

Nu is het jouw beurt om je verder te verdiepen in hoe RegEx werken, hier is aan jou een mooie duw in de goede richting gegeven. Laat ons maar horen wat je er van gemaakt hebt!
 



Overzicht Reageren

 
 

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.