Visualizzazione risultati 1 fino 10 di 10

Discussione: Script per fare upload di file

  1. #1
    Guest

    Predefinito Script per fare upload di file

    Ciao a tutti io ho creato uno script per fare upload di file e che fornisce un link del file caricato, però c'è una cosa che non riesco a fare.
    Quando viene caricato un file con un nome uguale a uno già presente vorrei venisse rinominato, mi date una mano?

    Vi posto il codice:

    Codice:
     <?php
    $file_name = $_FILES['upfile']['name'];
    $file_temp = $_FILES['upfile']['tmp_name']; 
    $file_type = $_FILES['upfile']['type'];
    $file_size = $_FILES['upfile']['size'];
    
    $upload_dir = "upload";
    
    $righe = file("db.txt");
    $righe[count($righe)-1] = explode("|",$righe[count($righe)-1]);
    $fgt = $righe[count($righe)-2][0]+1;
    unset($righe);
    
    if ( !is_uploaded_file($_FILES["upfile"]["tmp_name"]) )
     
    {
        echo "File non inserito (".$_FILES["upfile"]["error"].")";
    }
    else
    {
      $ext = explode (".", $file_name);
     
      
      $st="$fgt|$file_name|\n";
    
    $op_db = fopen("db.txt","a");
    $fpx = fputs($op_db,$st);
    fclose($op_db);
    
      echo "File inserito con successo!<br /><center>Ecco i link:</center> <br><br>BB Code:  http://tuttohtml.helloweb.eu/upload/$file_name <br><br>
    Codice HTML: http://tuttohtml.helloweb.eu/upload/$file_name<br><br>
    Live spaces code: Nome file";
      copy ($file_temp,"$upload_dir/$file_name");
    }
    ?>
    Vi ringrazio anticipatamente.

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Nell'else controlli che il file esista e se esiste gli cambi il nome:
    Codice PHP:
    $num=1;
    while (
    file_exists($upload_dir."/".$file_name)) {
    $nome_file=explode(".",$file_name);
    if (
    count($nome_file)>1) {
    $file_name="";
    for(
    $i=0;$i<count($nome_file)-1;$i++) {
    $file_name.=$nome_file[$i];
    if (
    $i<count($nome_file)-2)
    $file_name.=".";
    }
    $file_name.=$num.".".$file_name[count($nome_file)-1];
    }
    else
    $file_name=$nome_file[0].$num;
    $num++;
    }
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Grazie ma io vorrei che lo facesse in automatico perchè non sto sempre li a monitorare

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Infatti è automatico...
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    ALtra cosa come faccio per mettere l'opzione che si possono caricare solo file in jgp bmp e gif?

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti controllare l'estensione, ma sarebbe meglio che controlli il content-type del file.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Vado un attimo ot. Tuttohtml, io ti consiglierei, prima di passare a mettere script vari, di sistemare il layout, dopo altrimenti ti sarà più complicato, sistemarlo.
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  8. #8
    Guest

    Predefinito

    Altrimenti non posso fare così?

    Codice:
    $img_split = explode(".",$nome_img);     // verifica il tipo di estensione $estensione = array_pop($img_split);     // del file
    e poi aggiungo:

    Codice:
          // verifica se i file da caricare sono immagini
          if ($estensione == "jpg" OR $estensione == "gif" OR $estensione == "jpeg") {

  9. #9
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Sì, puoi fare così.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  10. #10
    Guest

    Predefinito

    Ok grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •