Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169

    ordinare file pdf+txt per data

    Ciao a tutti,

    Ho questa applicazione che estrae tutti i files pdf in un cartella e mi crea un elenco con il collegamento ipertestuale per visualizzarli ed in più ogni file pdf ha un file.txt con lo stesso nome dove all'interno c'è il titolo; descrizione; dataregistrazione

    Fino a qua tutto ok! ma come faccio a ordinare i file pdf per ordine di data registrazione dalla più recente alla più vecchia ??

    Codice PHP:
                                        $directory 'Convocazioni/';
                                        
    $files glob($directory '/*.pdf'); 
                                        
                                        foreach (
    $files as $file) { 
                                            
    $fileName basename($file); 
                                            
    $data explode(';'file_get_contents("{$file}.txt")); 
                                            list(
    $title$description$registrationDate) = $data
                                        
                                                        
    // echo "<a href=\"$uuuu{$fileName}\">{$file}</a> - {$title} - {$description} - {$registrationDate}
    "; 
                                                        echo '<tr><td><div class="
    listalbo2content"><div class="listalbo2left">';
                                                         
                                                          echo "
    <a href=\"$directory{$fileName}\" onclick=\"window.open('$directory{$fileName}','','width=820,height=650,left='+(screen.availWidth/2-300)+',top='+(screen.availHeight/2-400)+'');return false;\">{$description}</a>";
                                                            
                                                            echo 
    "</div><div class=\"listalbo2right\">{$registrationDate}</div></div></td></tr>";
                                        
                                        } 

  2. #2
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Ciao secondo me dovresti prima ricreare un'array in ordine di data e poi stampare la lista

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    potresti farmi un esempio con il codice che ho postato, sono ancora agli inizi con php

    grazie

  4. #4
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Codice PHP:
    <?php
    $directory 
    'Convocazioni/'
                                        
    $files glob($directory '/*.pdf');  
                                         
                                        foreach (
    $files as $file) {  
                                            
    $fileName basename($file);  
                                            
    $data explode(';'file_get_contents("{$file}.txt"));
                        
    $format strtotime($data[2]);
                        
    $array[$format]['titolo'] =  $data[0]; 
                                            
    $array[$format]['descrizione'] =  $data[1];
                        
    $array[$format]['name'] = $fileName;
                                            
    $array[$format]['tempo'] = $data[2];
                        }
                        
    ksort ($array,SORT_NUMERIC );
                                        foreach(
    $array as $lista){
                                         
                                                        
    // echo "<a href=\"$uuuu{$fileName}\">{$file}</a> - {$title} - {$description} - {$registrationDate}
    ";  
                                                        echo '<tr><td><div class="
    listalbo2content"><div class="listalbo2left">'; 
                                                          
                                                          echo "
    <a href=\"".$directory.$lista[name]."\" onclick=\"window.open('
    "
    .$directory.$lista["name"]."','','width=820,height=650,left='+(screen.availWidth/2-300)+',top='+(screen.availHeight/2-400)+'');return false;\">".$lista["descrizione"]."</a>"
                                                             
                                                            echo 
    "</div><div class=\"listalbo2right\">".$lista["tempo"]."</div></div></td></tr>";
    Circa qualcosa di questo tipo. Non ho provato se funziona ma il concetto è questo. Dimenticavo una piccola cosa che ho già provveduto a cambiare (ksort ($array,SORT_NUMERIC )

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    Grazie kakashi, funziona alla grande !!

    mi sono dimenticato di dirti che la data contiene anche l'ora in questo formato
    date("d/m/Y, H:i:s");

    comunque funziona alla grande anche tenendo conto delle ore minuti e secondi !

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    mi sono dimenticato.....

    come posso fare dividere il risultato il più pagine con al massimo la visualizzazione di 20 risultati per pagina ?

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    ho notato solo ora che mi elenca i file dalla data vecchia a quella più odierna, a me serve il contrario cosa devo cambiare ??

    Grazie

  8. #8
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    invece di ksort utilizza krsort

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    169
    grazie ora è ok!

    conosci un applicazione da aggiungere per far si che se ci fossero molti files .pdf me li divide in pagine da 20 documenti ciascuna?

  10. #10
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Un piccolo tutorial che può aiutarti
    http://tiffanybbrown.com/2008/12/14/...ys-with-php-5/

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.