Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2016
    Messaggi
    16

    Scomporre nome file per creazione tabella

    L'idea è quella di creare una pagina in cui visualizzare, in una tabella, i files contenuti in una cartella (fin qui non dovrebbero esserci problemi). Inoltre vorrei scomporre il nome del file in modo che ogni sua parte vada in una colonna distinta. I files sono dei libri in pdf quindi il nome è composto come segue: autore - anno - titolo.pdf io vorrei riempire una tabella a tre colonne: autore, anno, titolo.
    E' fattibile?
    Grazie a tutti anticipatamente

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Puoi usare la explode() per "spezzare" il nome del file:

    una cosa del genere:

    Codice PHP:
    <table>
    <?php
    $files 
    glob('directory/*.pdf');
    foreach(
    $files as $file):
        
    $filename basename($file);
        
    $split explode('-'$filename);
        if(
    count($split) < ){
            continue;
            
    // Nel caso il nome del file non ha la struttura richiesta
            // lo si salta, oppure mostri un messaggio
        
    }
        
    $author array_shift($split);
        
    $year array_shift($split);
        
    $name implode('-'$split);
       
    // Nel caso il nome contiene il separatore -
       // Ricompongo il restante array
    ?>
      <tr>
         <td><?php echo $author ?></td>
         <td><?php echo $year ?></td>
         <td><?php echo $name ?></td>
      </tr> 

    <?php
       
    endforeach; 
    ?>
    </table>
    Ultima modifica di boots; 22-11-2016 a 12:17

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2016
    Messaggi
    16
    Funziona, ma nell'ultimo campo, quello dell'anno, compare anche l'estensione del file. Es.: 2011.pdf

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Mi pare strano che il .pdf finisce sull'anno...al massimo alla fine del nome che hai scritto essere l'ultimo.

    Cmq, prova a cambiare

    $filename = basename($file');

    con

    $filename = basename($file, '.pdf');

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2016
    Messaggi
    16
    Quote Originariamente inviata da boots Visualizza il messaggio
    Mi pare strano che il .pdf finisce sull'anno...al massimo alla fine del nome che hai scritto essere l'ultimo.

    Cmq, prova a cambiare

    $filename = basename($file');

    con

    $filename = basename($file, '.pdf');
    finisce sull'anno perchè ho deciso di rinominare i files come autore - titolo - anno.

    Con l'ultima modifica da te postata funziona tutto correttamente.

    Grazie

  6. #6
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Io avrei lasciato come stabilito inizialmente. Se nel titolo è presente il carattere - non funziona più.
    Dovresti cambiare così:

    Codice PHP:
    ...
       
    $author array_shift($split);
        
    $year array_pop($split);
        
    $name implode('-'$split);.... 

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.