Pagina 1 di 1
 
 

Messaggio Alleggerire Cartella Immagini

#1  MAV_Sparviero Mercoledì, 22 Aprile 2009, 19:21

ciao a tutti
Mi sono posto questo problema, come posso alleggerire la cartella \files\posted_images
In quanto ci possono essere delle immagini caricate senza collegamento e che fanno aumentare le dimensioni del disco.
Per il momento l'ho alleggerita facendo un'indagine certosina (file x file)
 




Versione di IP: 1.3.0.53a

Server: Linux
 
avatar
italia.png MAV_Sparviero Sesso: Uomo
Visitatore
Visitatore
 
Età: 45
Registrato: Maggio 2008
Messaggi: 34
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#2  system90 Giovedì, 23 Aprile 2009, 09:30

io ti consiglierei  di non far caricare sul  tuo sito...ma nei siti appositi
 




Versione di IP: 1.3.0.53b

Server: Linux
 
avatar
italia.png system90 Sesso: Uomo
Appassionato
Appassionato
 
Età: 22
Registrato: Giugno 2008
Messaggi: 621
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#3  MAV_Sparviero Giovedì, 23 Aprile 2009, 15:29

Mi sa che farò proprio così.
 Grazie
 




Versione di IP: 1.3.0.53a

Server: Linux
 
avatar
italia.png MAV_Sparviero Sesso: Uomo
Visitatore
Visitatore
 
Età: 45
Registrato: Maggio 2008
Messaggi: 34
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#4  FedericoBiccheddu Sabato, 25 Aprile 2009, 14:08

MAV_Sparviero ha scritto: [Visualizza Messaggio]
[...] In quanto ci possono essere delle immagini caricate senza collegamento e che fanno aumentare le dimensioni del disco. [...](
Non ho capito questa parte, potresti spiegarla meglio?
 




Versione di IP: 1.3.15 (αlphα)

Server: Linux

____________
Per favore inserisci nel tuo Profilo la versione di Icy Phoenix e il Server utilizzato.
 
avatar
italia.png FedericoBiccheddu Sesso: Uomo
Veterano
Veterano
 
Età: 20
Registrato: Dicembre 2007
Residenza: Sant'Antioco
Messaggi: 2593
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#5  MAV_Sparviero Sabato, 25 Aprile 2009, 21:55

Utilizzando la funzione "carica immagine" tutte le immagini vengono salvate nella cartella \files\posted_images. il problema e che ci possono essere immagini non utilizzate.
Ad esempio carico  un'immagine dal mio pc e poi invio il BBCode  faccio l'anteprima e non mi piace, questa immagine rimane sempre salvata in quella  cartella se non ho fatto INVIO, oppure cambio immagine della firma, oppure cambio immagine nel forum o cancello un forum. Tutte queste immagini non vengono più utilizzate e creano zavorra che per eliminarle devo utilizzare FileZilla o altri sistemi, sempre con il rischio di eliminare  quelle che hanno un collegamento BBCode.

Spero di essere stato chiaro CIAO  
 




Versione di IP: 1.3.0.53a

Server: Linux
 
avatar
italia.png MAV_Sparviero Sesso: Uomo
Visitatore
Visitatore
 
Età: 45
Registrato: Maggio 2008
Messaggi: 34
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#6  FedericoBiccheddu Sabato, 25 Aprile 2009, 22:56

Allora non ti rimane che controllare tu tutte le immagini, oppure creare uno script in php che cancelli i file, in base ad una lista creata da te, ma qui le cose si fanno più complicate. Al massimo ti posso dare una dritta.

Fai una query con LIKE, nella tabella dei post, dove metti l'indirizzo della cartella dove si caricano le immagini, prendi tutti i link e crei un array con tutti i link, dopo di che crei un ciclo (in questo ti serve la funzione while() in php) aprendo la directory. Se il file è nell'array, quindi nella lista (funzione in_array() in php) lo lascia, altrimenti lo cancella (funzione unlink() in php).

Devi creare quindi due condizione in terne al ciclo usando if e else.

Esempio banale dello script:
<?php
define('IN_ICYPHOENIX', true);
if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './');
include(IP_ROOT_PATH . 'cms/common.' . PHP_EXT);

// Start session management
$userdata = session_pagestart($user_ip);
init_userprefs($userdata);
// End session management

if (($userdata['user_level'] == ADMIN) && ($userdata['session_logged_in']))
{
    $dir = IP_ROOT_PATH . POSTED_IMAGES_PATH;
    $sql = "SELECT post_text FROM " . POSTS_TABLE . " LIKE '%" . POSTED_IMAGES_PATH . "%'";
    if (!($result = $db->sql_query($sql)))
    {
            message_die(GENERAL_ERROR, 'Could not read posts info.', '', __LINE__, __FILE__, $sql);
    }
    
    print 'File da cancellare (Lista Post DB):<br /><ul>';
    while($row = $db->sql_fetchrow($result))
    {
        print '<li>' . $row['post_text'] . '</li>';
    }
    print '</ul>';
    
    $dir_handle = (opendir($dir)) ? opendir($dir) : die('Impossibile aprire ' . $dir);
    $file_not_delete = array(
                            '.',
                            '..',
                            'file.gif',
                            'file.jpg',
                            'file.png',
                        );

    print 'File da cancellare:<br /><ul>';
    while ($file = readdir($dir_handle))
    {
        if(!in_array($file, $file_not_delete))
        {
            print '<li>' . $file . '</li>';
            #unlink($file); /* NON COMMENTARE QUESTA LINEA FINCHE' NON SEI SICURO CHE FUNZIONI BENE */
        }
    }
    print '</ul>';
    closedir($dir_handle);
}
else
{
    message_die(GENERAL_MESSAGE, $lang['Not_Auth_View']);
}
?>


Questo script dovrebbe listarti tutti i file che sono presenti nella directory /files/posted_images/ e che non sono presenti nell'arry, quindi che SONO PRESENTI ED UTILIZZATE NEI THREAD.

Questa linea:
#unlink($file); /* NON COMMENTARE QUESTA LINEA FINCHE' NON SEI SICURO CHE FUNZIONI BENE */


Non cancellare l'asterisco finchè non sei sicuro che mostri tutti i file non presenti nei thread, perchè li cancella DEFINITIVAMENTE SENZA CHIEDERE IL PERMESSO.

Per aggiungere un file alla lista dei file da non cancellare, fai così:
$file_not_delete = array(
                            '.',
                            '..',
                            'file.gif',
                            'file.jpg',
                            'file.png',
                        );

A così:
$file_not_delete = array(
                            '.',
                            '..',
                            'file.gif',
                            'file.jpg',
                            'file.png',
                            'file2.gif',
                            'file3.jpg',
                            'file4.png',
                            '', /* AGGIUNGI QUI I NOMI DEI FILE DA NON CANCELLARE, PER OGNI NOME FAI COME TI HO FATTO IO */
                        );


Naturalmente dovrai metterci i nomi dei file che sono presenti nel DB, che dovresti poter vedere nel contenuto estratto dal DB.

Dovrai armarti di santa pazienza e prendere a mano tutti i link, altrimenti chiedere di migliorarti lo script che estrae dal testo del post ( $row['post_text'] ) solo il link che contiene /files/posted_images/
 




Versione di IP: 1.3.15 (αlphα)

Server: Linux

____________
Per favore inserisci nel tuo Profilo la versione di Icy Phoenix e il Server utilizzato.
 
avatar
italia.png FedericoBiccheddu Sesso: Uomo
Veterano
Veterano
 
Età: 20
Registrato: Dicembre 2007
Residenza: Sant'Antioco
Messaggi: 2593
  • Torna in cima Vai a fondo pagina
 

Messaggio Re: Alleggerire Cartella Immagini

#7  MAV_Sparviero Domenica, 26 Aprile 2009, 16:07

Qui la situazione si fà un pò complicata mi puoi aiutare con parole più facili
ho provato tutta la notte ma non sono riuscito a cavare un ragno dal buco  
 




Versione di IP: 1.3.0.53a

Server: Linux
 
avatar
italia.png MAV_Sparviero Sesso: Uomo
Visitatore
Visitatore
 
Età: 45
Registrato: Maggio 2008
Messaggi: 34
  • Torna in cima Vai a fondo pagina
 


NascondiQuesto argomento è stato utile?
Condividi Argomento
Segnala via email Facebook Twitter Windows Live Favorites MySpace del.icio.us Digg SlashDot google.com LinkedIn StumbleUpon Blogmarks Diigo reddit.com Blinklist co.mments.com
technorati.com DIGG ITA linkagogo.com meneame.net netscape.com newsvine.com yahoo.com spurl.net Fai Informazione Ok Notizie Segnalo Bookmark IT fark.com feedmelinks.com
Inserisci un link per questo argomento
URL
BBCode
HTML
NascondiArgomenti Simili
Argomento Autore Forum Risposte Ultimo Messaggio
No Nuovi Messaggi Sorry, Mi Sfugge Una Cartella XD BangBang Archivio 'Supporto Generale' 4 Sabato, 21 Luglio 2007, 13:49 Leggi gli ultimi Messaggi
BangBang
No Nuovi Messaggi Cartella Template romanilatorino Archivio 'Temi e Grafica' 4 Giovedì, 22 Novembre 2007, 16:17 Leggi gli ultimi Messaggi
romanilatorino
No Nuovi Messaggi Cancellare Cartella Install Zed92 Archivio 'Supporto Generale' 6 Domenica, 09 Marzo 2008, 17:35 Leggi gli ultimi Messaggi
danmartin
No Nuovi Messaggi Alleggerire Icyphoenix club41 Archivio 'Supporto Generale' 6 Sabato, 05 Aprile 2008, 11:30 Leggi gli ultimi Messaggi
Andrea75
No Nuovi Messaggi Problema Upload Cartella IP. luigi3000 Supporto Generale 11 Martedì, 28 Luglio 2009, 12:48 Leggi gli ultimi Messaggi
buldo

Pagina 1 di 1
 









  

 

cron