allora stavolta dovrebbe essere semplice (non per me), spero di avere una risposta
con un estensione di dreamweaver (PHP upload) ho generato del codice che serve appunto a permettere agli utenti di caricare dei file sul server.
Codice PHP:
<?php
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",40960);
define("DESTINATION_FOLDER", "immagini/avatar");
define("no_error", "");
define("yes_error", "");
$_accepted_extensions_ = "gif,jpg,jpeg";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['browse'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['browse']['error'] == 0){
$errStr = "";
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "File troppo pesante";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Estensione non valida";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Cartella di destinazione non valida";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
?>
io vorrei che invece di estrapolare il nome del file da quello originale, lo prendesse dal database, mentre l'estensione venisse da quello originale.
ho provato a modifica questa stringa, andando a intuito
$_name_ = $_file_['name'];
in questo modo: $_name_ = $row_rsprof['NICK']; dove rsprof è il record set che indica in quale database, in quale tabella guardare e a che linea, mentre nick è una delle colonne di questa tabella
ma la modifica non ha avuto NESSUN effetto!