Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117

    Rinomina file uplodati in sequenza...

    Salve,

    Ho un semplice script che mi fa uplodare file in una cartella....il problema è che voglio che mi rinomini i file in numeri e non con i nomi dei file che erano sul mio computer..
    Esempio: Se sul mio pc ho un'immagine ( casa.png ) quando la vado a uplodare me la uppa in "" http://.... /casa.png "" ma io voglio che me le deve rinominare in sequenza di numeri del tipo 1.png e il prossimo file 2.png... fino all'infinito.. in modo che ogni file abbia come nome un numero in più del file precedente...

    lo script è qui : http://www.mediafire.com/?ontlwnonnmr

    Cosa devo modificare?
    MSN - Messanger è fallito

  2. #2
    In teoria quando effettua il move_upload_file dovresti sostituire il nome del file, con il valore numerico "calcolato" in base agli elementi presenti nella tabella!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117
    e che codice dovrei aggiungere?
    "scusami ma non ci capisco molto di php xD"
    MSN - Messanger è fallito

  4. #4
    Non ho guardato il codice che stai usando...ma in ogni caso ti serve

    1) Un conta file all'interno della cartella
    2) Dopo il conteggio, determinare il nome del prossimo file
    3) Sostituire il nome del file, con il valore calcolato

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117
    potresti vedere il codice? è molto semplice come codice non è elaborato
    MSN - Messanger è fallito

  6. #6
    Postalo qui, tra i tag appositi

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117
    Ok questo codice si trova nella cartella lib/upload.class.inc.php

    questo è il file che gestisce tutto:
    (le righe importanti per questa cosa che chiedo sono a riga 89 alla riga 110)
    codice:
    <?php require_once('error.inc.php');
    
    /*****************************************************
     *					Classe Uploader					 *
     *						   by							 *
     *					    Stefano V.						 *
     *				   info@svsoftwares.org				 *
     *****************************************************/
    
    class Uploader {
     
     var $max_file_size = 0;
     var $estensioni_consentite = array();
     var $opzioni_upload = array();
     var $percorso_file = '';
     var $nome_file = '';
    	
    	function max_size($valore)
    	{
    		$this->max_file_size = $valore;
    	}
    	
    	function estensioni_ok($array)
    	{
    		$this->estensioni_consentite = $array;
    	}
    	
    	function opzioni_up($array)
    	{
    		$this->opzioni_upload = $array;
    	}
    
    	function upload_file($nome_campo_form, $cartella_upload)
    	{
    	 $msg = 0; // se 0 estensione non consentita
    	 $overwrite = 1; // se 0 rinomina
    	 
    		$nome_file = $_FILES[$nome_campo_form]['name'];
    
    		if($this->max_file_size != 0)
    		{
    			if($_FILES[$nome_campo_form]['size'] > $this->max_file_size)
    			{
    				die(ERR_TOO_BIG);
    			}
    		}
    		
    		foreach($this->opzioni_upload as $key => $value)
    		{
    			if($key == 'lock_ext')
    			{
    			 	if($value == 1)
    			 	{
    					$file_split = explode(".",$nome_file);
    
    					$estensione = array_pop($file_split);
    				
    					foreach($this->estensioni_consentite as $valore)
    					{
    						if($estensione == $valore)
    						{
    							$msg = 1;
    						}
    					}
    				} else {
    					$msg = 1;	
    				}	
    			}
    			
    			if($key == 'overwrite')
    			{
    				if($value == 1)
    				{
    					$overwrite = 1;
    				} else {
    					$overwrite = 0;
    				}
    			}
    			
    		}
    	
    		if($msg == 0)
    		{
    			die(ERR_WRONG_EXT);
    		}
    	
    		if(is_uploaded_file($_FILES[$nome_campo_form]['tmp_name']))
    		{
    			if($overwrite == 0)
    			{
    				if(file_exists($cartella_upload.$nome_file))
    				{
    					$casnum = rand(0,9999999999);
    					
    					$filenome = $this->dividi_nome($nome_file);
    					
    					$nome_file = $filenome.'('.$casnum.').'.$estensione;
    					
    					$this->nome_file = $nome_file;
    				}
    				else
    				{
    					$nome_file = $_FILES[$nome_campo_form]['name'];
    					$this->nome_file = $nome_file;
    				}
    			}
    			else
    			{
    				$this->nome_file = $_FILES[$nome_campo_form]['name'];
    			}
    			
    			if(move_uploaded_file($_FILES[$nome_campo_form]['tmp_name'], $cartella_upload.$nome_file))
    			{
    				$this->percorso_file = $cartella_upload.$nome_file;
    				print(OK_UPLOAD);
    			} else {
    				die(ERR_UPLOAD);
    			}
    		} else {
    			die(ERR_UPLOAD);
    		}
    	}
    	
    	function dividi_nome($nome)
    	{
        $file_split = explode(".", $nome);
    
    	 $estensione = array_pop($file_split);
    
    	 $len_ext = strlen($estensione);
    	
    	 $nomef = substr($nome, 0, (strlen($nome) - ($len_ext + 1)));
    	
    	 return $nomef;
    	}
    	
    	function get_url($pagina_attuale)
    	{	
    		$risultato = 'http://' . $_SERVER["SERVER_NAME"] . str_replace($pagina_attuale,'',$_SERVER["PHP_SELF"]) . $this->percorso_file;
    		
    		return $risultato;
    	}
    	
    	function get_name()
    	{
    		return $this->nome_file;
    	}
    	
    }
    
    ?>
    MSN - Messanger è fallito

  8. #8
    Alla faccia del semplice semplice

    Codice PHP:
    if(move_uploaded_file($_FILES[$nome_campo_form]['tmp_name'], $cartella_upload.$nome_file))
    {
        
    $this->percorso_file $cartella_upload.$nome_file;
        print(
    OK_UPLOAD);

    else 
    {
        die(
    ERR_UPLOAD);

    Questo è il pezzo di codice che fisicamente prende il file e lo mette dentro $cartella_upload.

    Quindi prima di eseguire questo...dovresti calcolarti il nome del nuovo file.

    Per contare i file potresti usare una cosa del genere:

    Codice PHP:
    function filesInDir($tdir)
    {
        
    $page=array();
        
    $dirs scandir($tdir);
        foreach(
    $dirs as $file)
        {
            if ((
    $file == '.')||($file == '..'))
            continue;
        elseif (
    is_dir($tdir.'/'.$file))
        {
            
    filesInDir($tdir.'/'.$file);
        }
        else
        {
                    if(
    eregi(".jpg",$file) || eregi(".png",$file) || eregi(".gif",$file))    
                
    $page++;
        }
        }
        return 
    $page;

    Il totale delle foto trovate (nel formato .jpg, .png, .gif) lo hai dentro la variabile $page.

    Il passo successivo e montare i due pezzi e fare le opportune modifiche.

    Gli spunti te li ho dati...ora rimbocca le maniche e datti da fare


  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117
    ti giuro non ci capisco nulla... se mi dici solo la parte che devo aggiungere/modificare.. sono proprio a zero col php
    MSN - Messanger è fallito

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    117
    Up
    MSN - Messanger è fallito

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.