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

    rinominare un file uploadato

    Con l'aiuto dei validissimi script di questa comunità ho relizzato questo paginetta per uploadare dei file in una directoy. ora mi servirebbe capire come fare a rinominare in automatico un file se all'interno della directory cce ne sia già uno con lo stesso nome.....

    eccovi lo script

    <?
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset($_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/prova/upload";
    $file_name = $_FILES["upfile"]["name"];
    if(trim($_FILES["upfile"]["name"]) == "") {
    die("ATTENZIONE DEVI SELEZIONARE UN FILE DA UPLOADARE!!!");
    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("UPLOAD FALLITO CONTROLLA L'ESISTENZA O I PERMESSI DELLA DIRECTORY");

    } else {

    die("UPLOAD FALLITO PER MOTIVI INTERNI AL SERVER" . $_FILES["upfile"]["name"]);

    }

    echo "UPLOAD DEL FILE " . $_FILES["upfile"]["name"] . "RIUSCITO";
    ?>

    attualmente lo script sovrascrive i file con lo stesso nome!!!

    graziE in anticipo a tutti quelli che mi daranno una mano!!!
    NAN V' PENZ PREPT

  2. #2
    Ti posso dire qual'è il metodo che devi seguire per evitare il problema.

    Prima di salvare cerchi all'interno della cartella se ci sono file con lo stesso nome.
    Se non ce ne sono tutto bene: salva.
    Se ce ne sono mostri un msg di errore e le possibilità sono 3:

    1) Interrompi l'upload
    2) Fai rinominare manualmente il file all'utente
    3) Fai rinominare automaticamente il file allo script (tipo file 1, file 2, file 3)
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    si diciamo che ci siamo a livelo di ragionamento, solo che mi servirebbe un po' di codice...tipo come si fa a cercare all'interno di una directory??
    NAN V' PENZ PREPT

  4. #4
    Bhe, per questo non ti posso aiutare perchè non ho mai affrontato il problema. Sempre a livello di ragionamento, però, ti posso dire che è come cercare in una tabella: estrai tutti i valori del campo nome e cerchi se ce n'è uno che corrisponde alla variabile del form. L'unico consiglio utile che ti posso dare è di andare su php.net e cercare nel loro manuale.

    Prva da qui http://it.php.net/manual/it/ref.dir.php
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    ok grazie io cerco, ma se qualcuno nel frattempo mi puo' dare qualche altra dritta gliene sarei grato!!
    NAN V' PENZ PREPT

  6. #6
    Utente di HTML.it L'avatar di sko
    Registrato dal
    Jun 2003
    Messaggi
    273
    Originariamente inviato da arafat
    ok grazie io cerco, ma se qualcuno nel frattempo mi puo' dare qualche altra dritta gliene sarei grato!!

    io ho risolto cosi'

    $random = rand(10,10000)
    $_FILES['file']['name']= $random ."_".$_FILES['file']['name'];

    credo che le possibilita' di andare a sovrascrivere un file siano davvero minime! bisogna star uplodando un file con stesso nome stessa estensione e random deve generare lo stesso numero che ha generato x quel file

  7. #7
    si ottima soluzione, mi hai anche suggerito un'altra cosa, magari se oltre al file nella directory uploadassi il nome in un database potrei associare il nome del file al suo id, così le possibilità di sovrascrizione sarebbero nulle!!!
    NAN V' PENZ PREPT

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.