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.
io vorrei che invece di estrapolare il nome del file da quello originale, lo prendesse dal database, mentre l'estensione venisse da quello originale.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);
}
}
?>
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!

Rispondi quotando