Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Impossibilità a identificare le directory

    Problema:

    ho bisogno di identificare delle directory nel mio spazio web.
    I nomi delle directory sono sequenziali, quindi il ciclo impostato deve leggere se esiste una determinata directory: se sì passa alla successiva, se no lo comunica e si ferma.

    Il pezzo di codice è:

    ================================================== ================
    $serial = sprintf ("%04d", $number);
    $dirname = "/UTENTI/$serial";

    opendir ("/UTENTI");
    while ($serial< 100)
    {
    if (is_dir ($dirname))
    {
    print "$dirname e' una directory
    ";
    $serial++;
    }
    else
    {
    print "$dirname NON e' una directory
    ";
    $serial++;
    exit();
    }
    }
    ================================================== ================

    in tutta risposta mi viene detto:

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>

    Warning: opendir(): SAFE MODE Restriction in effect. The script whose uid is 10122 is not allowed to access / owned by uid 0 in /var/www/vhosts/superescort.it/httpdocs/_inserzione.php on line 123

    Warning: opendir(/UTENTI): failed to open dir: No such file or directory in /var/www/vhosts/superescort.it/httpdocs/_inserzione.php on line 123
    /UTENTI/ewb0001 NON e' una directory

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<

    Che cosa significano questi errori?

    LA LINEA 123 CORRISPONDE AL COMANDO >>>> opendir ("/UTENTI"); <<<<

    HELP

  2. #2
    significa che sul server su cui cerchi di eseguire quello script è attivo il safe_mode, tu (forse per sbaglio) tenti di accedere alla root del server e ovviamente questo non ti è consentito.
    Devi togliere il / davanti ad UTENTI o al limite sostituirlo con ./

  3. #3
    Fatto.

    Non mi da più gli erroracci di prima ma....

    IL CICLO CHE HO IMPOSTATO NON FUNZIONA!!!

    mi dice che

    <<<<<<<<<<<<<<<
    /UTENTI/ewb0001 NON e' una directory
    >>>>>>>>>>>>>>>

    invece lo è porcaccia la miseria!!! Esiste come esistono le altre numerate fino a ewb0005

    Come posso fare???

  4. #4
    ma al cartella utenti è nella stessa cartella del file.php?

  5. #5
    assolutamente sì!

  6. #6
    C'è qualcuno che può darmi una mano???

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Prova a sostuire il controllo nel cliclo while...

    Codice PHP:
    if (is_dir($dirname)) 
    con questo:

    Codice PHP:
    if (!is_file($dirname)) 

  8. #8
    l'ho appena fatto.
    Purtroppo penso che in questo modo il ciclo riconosca sempre che quello che trova non sia un file, quindi mi restituisca sempre TRUE anche quando non trova più niente.

    Mi spiego meglio:
    io ho cinque directory nominate da ewb0001 a ewb0005.
    Quando il ciclo cerca ewb0006 non la trova, lui riconosce che non è un file e va avanti.

    HELP!!!

  9. #9
    Ho notato anche una cosa:

    se io faccio un interrogazione con

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >

    if (is_dir ("UTENTI/ewb0005"))
    print "UTENTI/ewb0005 e' una directory
    ";
    else
    print "UTENTI/ewb0005 NON e' una directory
    ";

    if (is_dir ("UTENTI/ewb0006"))
    print "UTENTI/ewb0006 e' una directory
    ";
    else
    print "UTENTI/ewb0006 NON e' una directory
    ";

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <

    ho la risposta corretta.

    Se eseguo il controllo nel ciclo mi manda a fare in c..o!!!

    Può essere di aiuto???

  10. #10
    trovata la soluzione!!!

    >>>===<<<

    $serial = sprintf ("%04d", $number);
    $dirname = "UTENTI/$serial";
    print "$dirname
    ";


    while (is_dir ($dirname))
    {
    $serial = sprintf ("%04d", $number);
    $dirname = "UTENTI/$serial";
    if (is_dir ($dirname))
    {
    print "$dirname e' una directory
    ";
    $number++;
    }
    else
    {
    print "$dirname NON e' una directory
    ";
    }
    }
    mkdir ("$dirname");
    chmod ("$dirname",0777);

    >>>===<<<


    praticamente questa parte di codice si occupa di cercare con un ciclo delle directory di nome noto.
    Quando non la trova più si occupa di crearla automaticamente.

    Utile per creare directory in automatico per degli utenti di un sito dove depositare file o altro.

    BYE BYE DA WALTER

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.