Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144

    Stampare Elenco file di una cartella

    Ciao!

    Allora io ho questo codice funzionante che prende e stampa i file presenti in una cartella.
    Essendo che nella cartela c'è e dovrà rimanere sempre un solo file, alla fine del ciclo stampo la variabile $prova che conterrà il nome del file...
    Codice PHP:
    <?php
    // Nome della cartella...
    $dir 'miopath';
     
    // Apertura...
    $handle opendir($dir);
     
    // Lettura...
    while (false !== ($files readdir($handle))) {
        
    // Escludo gli elementi '.' e '..' e stampo il nome del file...
        
    if ($files != '.' && $files != '..' && $files != '.DS_Store')
            
    $prova $files.'
    '
    ;
            
    }

    // Chiusura...
    closedir($handle);
        
    echo 
    $prova;

    ?>

    E funziona, ma se provo a fare copia incolla dentro alla pagina dove voglio io, questa non funziona più! Ci mette minuti a ricaricarla e poi non visualizza nulla!
    ecco la pagina dove la inserisco, allego solo la prima parte fino a dove scrivo il codice perchè altrimenti sarebbe troppo lunga

    Codice PHP:
     <?php
    session_start
    ();
    //Load latest update 
    error_reporting(0);
    include_once 
    'includes/db.php';

    // E includo altri 5 file



    $Wall = new Wall_Updates();


    $idut=$_SESSION['idut'];
    $idutente=$_SESSION['idutente'];


    if(isSet(
    $_POST['update']))
    {
    $update=$_POST['update'];
    $data=$Wall->Insert_Update($idutente,$update,$idut);

    if(
    $data)
    {
    $msg_id=$data['msg_id'];
    $message=tolink(htmlentities($data['message']));
    $time=$data['created'];
    $uid=$data['uid_fk'];
    $username=$data['user_matricola'];



    /*Qui inserisco il codice per trovare il nome visto sopra, che vorrei mandare come parametro alla funzione Gravatar!*/


    // Nome della cartella...
    $dir 'miopath';
     
    // Apertura...
    $handle opendir($dir);
     
    // Lettura...
    while (false !== ($files readdir($handle))) {
        
    // Escludo gli elementi '.' e '..' e stampo il nome del file...
        
    if ($files != '.' && $files != '..' && $files != '.DS_Store')
            
    $prova $files.'
    '
    ;
            
    }

    // Chiusura...
    closedir($handle);

    $face=$Wall->Gravatar($uid,$prova);
    //$commentsarray=$Wall->Comments($msg_id);
    ?>
    Any idea?

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    hai verificato il path della cartella che vuoi leggere rispetto al nuovo file?
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    bhè magari se togli error_reporting(0); puoi conoscere cosa è che non và...
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    ho provato a togliere error reporting e niente, come prima!
    E i path sono corretti!
    Nessuno ha una idea

  5. #5
    il file dove hai messo il codice è nello stesso percorso del file che hai usato per fare la prova?
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Ciao,
    se sei sicuro ma strasicuro che il path è corretto allora può significare solo una cosa:
    la cartella che stai leggendo è vuota!
    commenta if ($files != '.' && $files != '..' && $files != '.DS_Store')
    dentro il while se ti visualizza
    .
    ..
    allora stai leggendo una cartella vuota per quello non ti fa vedere file!

  7. #7
    prova a chiudere l'IF prima del tuo :

    Codice PHP:
    // Nome della cartella... 
    $dir 'miopath'

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Ok, avevate ragione...
    Era sbagliato il path!!! Ci mancava un ../ ... chiedo venga...

    Adesso c'è solo un problema...
    nel codice che abbiamo visto richiama la funzione Gravatar e passa 2 variabili:
    Codice PHP:
    $face=$Wall->Gravatar($uid,$prova); 
    una di queste è $prova che contiene il nome del file presente nella cartella desiderata.

    Se io vado nella funzione Gravatar e faccio echo $prova; mi stampa il nome del file corretto, quindi alla funzione arriva tutto per bene, ma se provo a fare:
    Codice PHP:
    $data="../foto_utenti/$matricola/profilo/resize/$prova ";
            
            return 
    $data
    non mi visualizza l'immagine che voglio, mentre se metto al posto di $prova il nome dell'immagine la visualizza! Tuttavia come detto poco sopra se subito prima della riga $data=../ eccetera metto echo $prova, questo mi stampa il nome del file corretto!

    Perché?
    E' evidente che è un problema di lettura di variabile nel path... però la variabile $matricola la legge correttamente...

    Mistero...
    Sapete darmi una mano?

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    bo non riesco proprio, è forse un problema di virgolette? ma non riesco a risolvere...

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Altra cosa che ho notato:

    allora se faccio
    Codice PHP:
    $nome_file="foto.jpg" 
    La visualizza!
    E allora provo per testare a fare:
    echo "$nomefile";
    e mi stampa foto.jpgfoto.jpg (2 volte)

    Mentre se prendo la variabile $var che ho passato alla funzione, faccio:
    echo "$var";
    mi stampa foto.jpg (1 volta)

    ma non me la visualizza! Probabilmente perchè dovrà essere
    foto.jpgfot.jpg (2 volte) ???


    Come posso fare???

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.