Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154

    leggere contenuto cartella e mostrare i primi 30 elementi

    Ciao a tutti. Premetto che sono un neofita di php(e di programmazione in genere).
    Vorrei leggere il contenuto di una cartella e poi mostrare i nomi solo di 30 elementi(magari random ). Ho usato questo codice:
    Codice PHP:
    $cartellaopendir(".");
    while (
    $file=readdir($cartella)) {
    $file_array[] = $file ;
    }
    foreach (
    $file_array as $file) {
    echo (
    "<a href=\"$file\">$file</a>
    "
    );

    che mi mostra e linka tutto il contenuto della cartella. ora io vorrei mostrare diciamo solo 30 elementi e non so come fare. credo che dovrei inserire un altro ciclo ma non mi riesce.
    grazie in anticipo per eventuali risposte

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    per mischiare un array usa shuffle
    http://se2.php.net/manual/it/function.shuffle.php
    e per recuperare i primi tot valori array_slice
    http://se2.php.net/manual/it/function.array-slice.php

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    sono riuscito ad inserire la funzione random
    Codice PHP:
    $cartellaopendir(".");
    while (
    $file=readdir($cartella)) {
    $file_array[] = $file ;
    }
    shuffle ($file_array);
    foreach (
    $file_array as $file) {
    echo (
    "<a href=\"$file\">$file</a>
    "
    );

    ma non riesco a inserire l'altra.
    potresti farmi un esempio di codice?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    shuffle ($file_array);
    $primi_30 = array_slice($file_array,0,30);
    foreach ($primi_30 as $file)
    echo $file.' ';

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    154
    funziona alla perfezione ti ringrazio molto.
    ti chiedo un altro favore: invece di usare queste funzioni avrei potuto usare un ciclo per estrarre e mostrare i primi 30 elementi dell'array? se si puoi mostrarmi come? ho provato per ore ma niente.
    grazie di nuovo

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    for ($i=0; $i<30; $i++)
    echo $file_array[$i].' ';


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.