Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Rinomina file con incremento numerico

    saluti a tutti,avrei un quesito da porvi.
    Dai vari post sul forum mi sembra di aver capito che
    php può leggere in una cartella anche i file immagine jpg.
    La domanda è questa,in questa cartella ho diverse immagini
    img1.jpg,img2.jpg.ecc.ecc.un visitatore vuole fare l'upload
    di una sua immagine,ma non voglio che sovrapponga la sua immagine ad un'altra.
    Come è possibile fare perchè l'immagine venga rinominata automaticamente
    in "img"ma incrementando il numero.
    Grazie a tutti coloro che mi daranno indicazioni in merito.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    $nomefile = $_FILES['campofile']['name'];
    $file_pieces = explode(".", $nomefile);
    $estensione = array_pop($file_pieces);
    $restofile = implode(".", $file_pieces);
    $contatore = 1;
    while(file_exists("/path/dovefiniralimmagine/".$nomefile)) {
    
      $nomefile = $restofile."(".$contatore.").".$estensione;
    
      $contatore++;
    
    }
    
    echo $nomefile;
    in pratica dentro il while ci entri se il file esiste già, componi il nuovo nome, e il ciclo continua verificando il nuovo nome, se esiste cambia il nome con il nuovo numero, e rifà la verifica finche il file non esiste e $nomefile varrà qualcosa del tipo img(2).jpg.

    Ciao

    p.s.
    il codice l'ho scritto di getto, non l'ho testato, potrebbero esserci anche dei banali errori di sintassi

  3. #3
    ciao gianiaz,ti ringrazio x la risposta,oggi lo provo.
    ciao e ancora grazie.

  4. #4
    ciao,ho provato lo script e non mi funziona.Sicuramente,essendo alle prime armi con php,sono io che sbaglio qualcosa.
    Questo è lo script che uso per l'upload delle figure,
    <?php

    $storage = './immagini';

    $uploadfile = "$storage/" . basename( $_FILES['Filedata']['name'] );

    $success = move_uploaded_file( $_FILES['Filedata']['tmp_name'] , $uploadfile );

    if( $success ) echo( '1 ' . $_FILES['Filedata']['name']);

    else echo( '0');

    ?>

    ciao

  5. #5
    ciao,sto provando e riprovando in vari modi ad inserire lo script passatomi,ma non ne esco.
    Mi potreste aiutare.
    Grazie

    Codice PHP:
    <?php
    $storage 
    './immagini';
    $uploadfile "$storage/" basename$_FILES['Filedata']['name'] );
    $success move_uploaded_file$_FILES['Filedata']['tmp_name'] , $uploadfile ); 
    if( 
    $success ) echo( '1 ' $_FILES['Filedata']['name']) 
    else echo( 
    '0'); 
    ?>
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.