Visualizzazione risultati 1 fino 9 di 9

Discussione: Numero massimo di file in una cartella

  1. #1
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito Numero massimo di file in una cartella

    Ciao AlterVista, avrei bisogno di sapere se c'è un limite al numero di file che posso caricare dentro un'unica cartella del mio spazio web.

    Si parla di decine di migliaia di file dentro una sola cartella...

    Posso farlo o c'è un limite?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,259

    Predefinito

    C'è un limite, è molto alto, ma se ti ritrovi con migliaia di file probabilmente stai sbagliando qualcosa.

    Non è meglio suddividerli in diverse directory? Non ti conviene usare un database?

  3. #3
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito

    E di quanto è il limite?
    Il database non lo so usare.

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,259

    Predefinito

    Cosa devi mettere in questi file?

  5. #5
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito

    Dentro la cartella devo mettere dei file txt, e dentro i file txt c'è del codice html

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,259

    Predefinito

    To', codice già pronto! Non sai quanto sia strano

    Una bella classe
    Codice PHP:
    <?php

    // nome utente per l'accesso al database
    define('NICKNAME', 'johell');

    class
    Testo {

    // carica un testo in base all'identificatore; restituisce false se
    // il testo non è presente nel database.
    static function carica($id)
    {
    if (!
    self::$link)
    self::connetti();

    $id_per_db = mysql_real_escape_string($id);
    $result = mysql_query("SELECT `testo` FROM `testi` WHERE `id`='{$id_per_db}'", self::$link);

    if (
    $result and $row = mysql_fetch_assoc($result))
    return
    $row['testo'];

    return
    false;
    }

    // salva un testo nel database, memorizzandolo con l'identificatore
    // specificato; restituisce true se il testo è stato salvato
    // correttamente, false altrimenti
    static function salva($id, $testo)
    {
    if (!
    self::$link)
    self::connetti();

    $id = mysql_real_escape_string($id);
    $testo_per_db = mysql_real_escape_string($testo);

    $query = "REPLACE INTO `testi` SET `id`='{$this->id}', `testo`='{$testo_per_db}'";

    return
    mysql_query($query, self::$link);
    }

    // elimina un testo dal database, in base all'identificatore;
    // restituisce true in caso di successo, false altrimenti
    static function elimina($id)
    {
    if (!
    self::$link)
    self::connetti();

    $id = mysql_real_escape_string($id);
    return
    mysql_query("DELETE FROM `testi` WHERE `id`='{$id}'", self::$link);
    }

    // crea la tabella nel database, se questa non esiste già
    public static function creaTabella()
    {
    if (!
    self::$link)
    self::connetti();

    return
    mysql_query("
    CREATE TABLE IF NOT EXISTS `testi` (
    id VARCHAR(32) PRIMARY KEY,
    testo TEXT NULL
    )
    "
    , self::$link)
    or die(
    mysql_error());
    }

    private static
    $link;

    // apre la connessione con il database
    private static function connetti()
    {
    self::$link = mysql_connect('localhost', NICKNAME)
    and
    mysql_select_db('my_' . NICKNAME)
    or die(
    mysql_error());
    }

    }
    che si usa così:
    Codice PHP:
    <?php

    require 'testo.php';

    // SOLO la prima volta, creiamo la tabella nel database
    Testo::creaTabella();

    // per creare un nuovo testo e metterlo nel database
    Testo::salva('nome_della_frase', '<h1>Titolo</h1> <p>Deh, sia questo il testo della frase!</p>');

    // carichiamo un testo dal db
    echo Testo::carica('nome_della_frase');

    // per eliminare un testo
    Testo::elimina('nome_della_frase');
    Ultima modifica di dreadnaut : 25-05-2012 alle ore 22.09.22 Motivo: cambiato nickname

  7. #7
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito

    Grazie 1000 dreadnaut provo a sperimentare !!
    Comunque la mia domanda è sempre valida:

    Qual'è il numero massimo consentito di file per cartella?

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,259

    Predefinito

    Dipende dal tipo di partizione usata sul server, ma almeno 4 miliardi dovrebbero starci. Il problema è che quando inizi ad averne migliaia, molte operazioni iniziano a rallentare.

    Il database invece è fatto apposta per gestire migliaia di record, in più un sacco di operazioni di ricerca, ordinamento e selezione sono assai più facili.
    Ultima modifica di dreadnaut : 26-05-2012 alle ore 00.18.42

  9. #9
    L'avatar di Johell
    Johell non è connesso Utente attivo
    Data registrazione
    27-03-2007
    Messaggi
    415

    Predefinito

    Grazie dreadnaut sia per l'info che per il codice.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •