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?
Printable View
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?
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?
E di quanto è il limite?
Il database non lo so usare.
Cosa devi mettere in questi file?
Dentro la cartella devo mettere dei file txt, e dentro i file txt c'è del codice html
To', codice già pronto! Non sai quanto sia strano :mrgreen:
Una bella classe
che si usa così: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());
}
}
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');
Grazie 1000 dreadnaut provo a sperimentare !!
Comunque la mia domanda è sempre valida:
Qual'è il numero massimo consentito di file per cartella?
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.
Grazie dreadnaut sia per l'info che per il codice.