Upload con definizione del nome da salvare sul server

  • Creatore Discussione Creatore Discussione atonyc
  • Data di inizio Data di inizio

atonyc

Utente Attivo
10 Dic 2008
67
0
0
La mia domanda è questa:
utilizzo uno script php (in allegato) che mi permette di fare l'upload di file nel mio server, il file salvato nel server viene salvato con lo stesso nome del file caricato tramite form.
io vorrei la possibilità che tramite form io possa decidere anche il nome con cui il file venga salvato nel server

Lo script è composto da due file:

1- function_upload1.php

<?


function funz_uploader($img_up_name, $img_max_size, $img_name_dir) {


$img_size = $_FILES[$img_up_name] ['size']; // controlla la dimensione dell'immagine
$nome_img = $_FILES[$img_up_name] ['name']; // controlla il nome dell'immagine

$img_split = explode(".",$nome_img); // verifica il tipo di estensione del file, controllando
$estensione = array_pop($img_split); // le ultime letere dopo l'ultimo punto

if (is_uploaded_file($_FILES[$img_up_name] ['tmp_name'])) { // controlla se il file è stato caricato dal form

if ($img_size <= $img_max_size) {

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

// sposta il file caricato
@move_uploaded_file($_FILES[$img_up_name] ['tmp_name'], "$img_name_dir/$nome_img")
or die ("Impossibile spostare il file.
<A href=\"javascript:history.back()\">Torna indietro.</A>");

echo "File caricato con successo.<br>
<br>"; // se il file è stao caricato

} else {

echo "Questo file non puo' essere caricato sul server.<br>
<A href=\"javascript:history.back()\">Torna indietro.</A><br>"; // se il file non è stato caricato

}
} else {

echo "Questo file è troppo grande per essere caricato.<br>
<A href=\"javascript:history.back()\">Torna indietro.</A><br>"; // se il file è troppo grande
}
} else {

echo "Non riesco a caricare questo file sul server.<br>
<A href=\"javascript:history.back()\">Torna indietro.</A><br>"; // se non riesce a caricare il file
}
}
?>

2- upper1.php

<?
include ("function_upload1.php");

$img_up_name = "upfile";
$img_max_size = "10000000";
$img_name_dir = "cartelle/cartella/";


funz_uploader($img_up_name, $img_max_size, $img_name_dir);

?>
 
Potresti, per non toccare lo script, aggiungere un paio di righe.
In tal senso potresti rinominare il file mediante la funzione php:
rename
utilizzando come parametro il vecchio nome del file ed il nuovo ottenuto
inserendo nel form un campo di testo che verrà valorizzato dall'utente.
Ovviamente devi aggiungere un check per verificare che il nome non sia stato già usato e che sia in un formato valido

Ciao, Ciro
 
Esempio
PHP:
rename("/tmp/old_file_name.txt", "/tmp/my_file.txt");

Nel tuo caso, invece sia al primo caso che al secondo devi inserire le variabili.Avrai, quindi:
rename($old_name,$new_name);

Nel form devi solo inserire un campo input text iul cui valore verrà memorizzato nella variabile $new_name.
Ciro
 
purtroppo non sono per nulla pratico saresti cosi gentile da inserirmelo direttamente tu nei due script che ti ho postato.
 

Discussioni simili