limitare dimensione file

Marcick

Nuovo Utente
11 Gen 2013
10
0
0
Salve a tutti, avrei bisogno di un piccolo aiuto perchè sono proprio alle basi con php.
Ho uno script su un server che riceve delle stringhe e le appende in un file, utilizzo quindi semplicemente fopen e fwrite.
Il file viene periodicamente letto e cancellato da un altro script, ma voglio comunque evitare che (se non viene letto) cresca a dismisura.
Come posso fare perchè ogni volta che viene appesa una nuova stringa il file si "autocompatti" in modo da contenere solo le ultime diciamo 100 stringhe inserite ?
In pratica vorrei che quando viene aggiunta la 101esima stringa, la prima vada persa e il file contenga sempre e solo 100 stringhe.
Grazie in anticipo
Marco
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Mi sa che per aggiornare in quel modo il file devi copiare tutto il contenuto, salvarti le ultime 99 righe (ignori la prima) e riscrivi il file con le 99 righe più la centesima che metti tu.
Ovviamente sarebbe tutto molto più semplice con mysql.
 

Marcick

Nuovo Utente
11 Gen 2013
10
0
0
Mi sa che per aggiornare in quel modo il file devi copiare tutto il contenuto, salvarti le ultime 99 righe (ignori la prima) e riscrivi il file con le 99 righe più la centesima che metti tu.
Ovviamente sarebbe tutto molto più semplice con mysql.

Ringrazio tutti e due per l'intervento. Ho capito che con mysql potrei fare tutto e di più, ma ne sono a quasi totalmente a digiuno e richiede inoltre un intervento strutturale che al momento ho problemi ad applicare.
Per spiegare:
C'è un applicativo VB.NET che con metodi POST invia delle stringhe di testo a un server. Lo script le deposita (appendendole) in diversi files di testo a seconda dell'utente cui sono destinate.
Gli utenti, in mobilità con delle applicazioni Android, interrogano periodicamente il server (altro script php) e se trovano un file a loro destinati lo leggono e lo cancellano.
C'è la possibilità che qualche utente non usi l'applicazione per un po' di tempo e il file sul server cresca a dismisura, per questo vorrei conservare solo le ultime 100 stringhe.

Per il momento ho risolto così:
Ho trovato l'istruzione array_slice per prelevare da un file le ultime x stringhe.
Le scrivo in un file temporaneo.
Cancello il file originale.
Rinomino il file temporaneo.

probabilmente vi fa un po' orrore .... prometto di studiare mysql !
Grazie ancora, ciao
Marco
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se avessi usato mysql il tuo codice andrebbe molto ma molto più veloce.
L'interazione con i file oltre ad essere scomoda è anche molto lenta.
 

Marcick

Nuovo Utente
11 Gen 2013
10
0
0
Ok, troverò il modo di riaprire il progetto e di trasformarlo con mysql.
Immagino quindi che mysql preveda dei comandi per "autopurgarsi" o eliminare record più vecchi di una certa data o conservare solo gli ultimi 100 record inseriti, etc, giusto ?
Sarà sempre meglio che sia uno script php a fare da interfaccia tra le mie applicazioni e il database mysql sul server, o fare che le mie applicazioni VB.NET e Android accedano direttamenet al database ?
Avendo bisogni di qualche dritta potrò chiedere qui o sarà più indicato un altro forum su mysql ?
Ciao
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
C'è la sezione adatta anche su questo forum.
Comunque tramite php puoi gestire il database mysql e non ci sarà neanche bisogno di tenere solo gli ultimi records (se è necessario ok, altrimenti non c'è molta perdita di espressività e di velocità).
Ovvio che se i record diventano milioni la velocità si abbassa.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
A Limitare accesso ad alcune pagine web PHP PHP 2
P [PHP] Limitare login ad un solo utente per volta PHP 12
A [PHP] limitare counter paginazione PHP 7
J Limitare accesso disco condiviso Server Dedicati e VPS 0
Marco_88 Limitare un contatore PHP 1
otto9due limitare l'accesso a cartelle e file a tutti tranne che ad alcuni domini.. PHP 1
L limitare accesso a una cartella attraverso url Apache 1
E [risolto] limitare lunghezza del testo in tabella Mysql PHP 5
N Limitare accesso a form html con User e Password PHP 5
C script per limitare upload Javascript 1
E limitare il numero di risultato per linea PHP 4
M limitare l'accesso ad alcuni file Web Server 1
S limitare campo descrizione PHP 42
P limitare checkbox selezionati Javascript 3
M Limitare numero di risultati MySQL MySQL 2
SolidSnake4 limitare caratteri in textarea Javascript 0
M limitare accesso pagina per data e ora estratti da database Classic ASP 3
T Limitare accessi giornalieri di un utente [era: Piccolo problema] Classic ASP 1
A limitare il peso degli allegati della mail PHP 1
M Limitare i download HTML e CSS 12
R Come limitare i risultati di una query in una tabella? Database 3
T [photoshop] Dimensione Font Photoshop 1
Shyson [CSS] Titolo del sito cambia dimensione HTML e CSS 2
L [PHP] controllo dimensione immagine per il resize PHP 2
K [COMPRO] Pagine e account su facebook di ogni dimensione Annunci servizi di Social Media Marketing 3
G [HTML] Impostare dimensione immagini in un div HTML e CSS 2
R [WordPress] [HTML] Variare dimensione logo rimanendo centrato nella fascia di testa: come? WordPress 16
S [Photoshop] dimensione automatica delle immagini importate Photoshop 1
Fede72 [PHP] Dimensione immagini PHP 7
F Ogni tabella quanti dati(dimensione) può contenere? MySQL 3
felino [Wordpress] Gestione accessibilità: dimensione font e cromie WordPress 1
L [php] upload controllo dimensione immagine PHP 8
Frank10 [COMPRO] Pagine Facebook sexy o altro - Qualsiasi dimensione Annunci servizi di Social Media Marketing 2
R Adattare immagini alla dimensione del monitor Javascript 2
P ritagliare immagini della stessa dimensione Webdesign e Grafica 0
A [Java] Problema con la dimensione di un jframe Java 2
L Problema dimensione layout WordPress 1
E cambiare le dimensione ad un tema di wordpress? WordPress 1
E come cambiare le dimensione del logo? WordPress 2
C ridurre dimensione file immagine prima dell'upload Javascript 0
P [Compro] Pagine, qualsiasi dimensione Annunci servizi di Social Media Marketing 4
F Dimensione fissa cella tabella HTML e CSS 1
F aumentare la dimensione dello slide HTML e CSS 0
D Trovare dimensione cella tabella Javascript 3
P inserire elementi dotati di dimensione propria in layout a griglia fluida HTML e CSS 5
M Problema con dimensione file PHP 2
V ridimensionare larghezza forma + aumento dimensione caratteri Flash 1
L Trasformare delle immagini tutte nella stessa dimensione Photoshop 1
N Calcolare dimensione di un file su un server diverso PHP 4

Discussioni simili