Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100

    Funzione per trovare il numero più grande

    Ho questa situazione: tante immagini identificate con un numero progressivo (tipo: "immagine_1.jpg", "immagine_2.jpg", "immagine_3.jpg" ecc.) Pubblico in home page solo quella col numero più alto (le altre le uso nelle pagine interne).

    Ogni volta che ne carico una nuova sul server col suo numero progressivo vorrei che automaticamente fosse pubblicata quella più recente senza dover tutte le volte cambiare il codice a mano.

    In pratica mi serve una funzione per estrarre il numero dai nomi dei file e calcolare qual è il maggiore. Sto scervellandomi ma non riesco a scriverla.... Cosa suggerireste?

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    Ciao, a priori se inserisci a db i nomi immagine teoricamente hai almeno un campo autoincrement (tipo idrecord) e basterebbe fare una select con condizione select.... order by idrecord desc limit 1


    se cosi' non fosse:
    Codice PHP:
    $nome 'immagine_2.jpg';
    $dati explode('_',$nome);
    list(
    $a,$b)  = explode('.'$dati[1]);
    //$a e' il numero 
    La vita e' uno switch();

  3. #3
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Intanto grazie della risposta e perdona la lentezza ma non mi ero iscritto alla discussione e non mi è arrivato il messaggio di avvertimento .

    Il mio problema sta proprio nel come calcolare $a (che dev'essere il numero più grande fra quelli presenti nella cartella).

    Devo:

    1. verificare tutti i nomi dei file presenti nella cartella /immagini/
    2. stampare solo l'url di quello col numero più grande (o anche semplicemente il file fra tutti con la data più recente, se esiste una funzione php per farlo! trovata: filemtime(), ma come faccio a paragonare tutti i vari file?)

    No db, purtroppo .

    grazie ancora!

  4. #4
    Se utilizzi la funzione filemtime() e fai delle modifiche su delle immagini che non sono le ultime ti visualizzerà inordine di ultima modifica.

    Prova ad utilizzare questo codice:
    Codice PHP:
    ...
    <?php
    //Apri la cartella
    $cartella opendir('images/');

    //Carica i File in un Array
    while ($file readdir($cartella)) {
        
    $file_array[] = $file;
    }

    //Controlla i file
    for ($i=0$i<count($file_array)-1$i++) {

        
    $nome explode('_',$file_array[$i]);
        list(
    $a,$b)  = explode('.'$nome[1]); 
        
        for (
    $j=$i+1$j<count($file_array); $j++) {
            
    $nome explode('_',$file_array[$j]);
            list(
    $a2,$b2)  = explode('.'$nome[1]); 
            
            if (
    $a $a2) {
                
    $app $file_array[$i];
                
    $file_array[$i] = $file_array[$j];
                
    $file_array[$i] = $app;
            }
        }
    }


    //Dopo l'ordinamento si ha l'immagine più grande
    echo $file_array[count($file_array)-1];
    ?>
    ...
    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

  5. #5
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    provo subito, grazie 1000.


  6. #6
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Originariamente inviato da Lucas1
    provo subito, grazie 1000.

    hmmm... opendir mi dà un errore, in sostanza:

    opendir() [function.opendir]: failed to open dir: not implemented in

    cercando sul web sembrerebbe un problema di permessi/sicurezza... ma mi non riesco ancora ad interpretare bene perchè anche su fourm americani non mi pare capiscano esattamente il perchè si presenta....

    :master:

  7. #7
    Utente di HTML.it L'avatar di Lucas1
    Registrato dal
    Mar 2005
    Messaggi
    100
    Vai ce l'ho fatta! Era un problema di indicazione del path relativo, ora funziona alla grande! Grazie 1000 di nuovo: davvero gentilissimo e velocissimo

  8. #8
    De Nada...

    Realizzazione Software, Siti Web ed E-commerce. Consulenza Software ed esperti open source ...
    Scopri i nostri servizi...

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.