Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [PHP] array a 2 dimensioni

    sto crecando tramite questo script di leggere files contnuti in una cartella:


    <?PHP
    $dir="./img";
    $d = dir($dir);
    $i=0;
    while ($entry = $d->read()) {
    if($entry != "." && $entry != "..")
    {
    $i++;
    $arr_img[$i]=$entry;
    echo $arr_img[$i]."
    " ;
    }
    }
    ?>

    oltre al nome file vorrei inserire nell'array anche la data di creazione (filectime), per poi ordinare l'array secondo quest'ultima.

    non mi è ben chiaro come usare l'array a due dimensioni.

    qualcuno ha un attimo?

    grazie

  2. #2
    La funzione read dell'oggetto dir non ti permette di sapere nulla più che il nome file, nome del file che però puoi poi passare alla filectime...

    Dove sta la difficoltà , e soprattutto, perchè hai bisogno di array a due dimensioni?

    dopo il tuo codice:

    for ($index=1;$index<sizeof($arr_img);$index++):
    $orari[$arr_img[$index]]=filectime($dir.$arr_img[$index]);
    endfor;

    asort($orari);
    print_r($orari);

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    io volevo ottenere questo:

    dati_file[nome_file][data_creazione]

    per poi presentare la lista dei file a video ordinata secondo la data di creazione... e non come viene "storata" dal sistema operativo.

    dal tuo script non ho capito come fare dopo ad associare la data creazione con il rispettivo nome file...

    es:

    fff.jpg 27/07/05
    xxx.jpg 26/07/05
    bbb.jpg 24/07/05
    aaa.jpg 20/07/05

    e non:

    aaa.jpg 20/07/05
    bbb.jpg 24/07/05
    fff.jpg 27/07/05
    xxx.jpg 26/07/05

  4. #4
    L'array orari è esattamente quello che tu vuoi:

    echo $orari["fileuno.jpg"];

    ti stampa l'orario del file "fileuno.jpg", naturalmente in formato unix timestamp, se vuoi un altro formato devi usare la funzione date per formattarla come ti pare...

    In più l'array $orario è già ordinato per data, dopo l'esecuzione del codice...

    Dov'è la difficoltà?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    si dopo mi ci sono messo... e il tuo script funzia egregiamente,

    intanto io ho fatto così:

    <?PHP
    $dir="./img";
    $d = dir($dir);
    $i=0;
    $z=0;
    while ($entry = $d->read()) {
    if($entry != "." && $entry != "..")
    {
    $i++;

    $nome[$i]=$entry;
    $data[$i]=date("YmdHis.", filectime($dir."/".$entry));

    $max=$i;
    }
    }
    array_multisort($data, SORT_DESC, SORT_NUMERIC, $nome);
    //array_multisort($nome, SORT_DESC, SORT_NUMERIC, $data);
    while ($z<$max )
    {
    echo $nome[$z]." ".$data[$z]."
    ";
    $z++;
    }
    ?>

    e anche questo funzia


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.