salve a tutti.
inanzitutto scusatemi per il doppio post, ma non potendo cancellare il precedente ho dicuti crearne un altro. l'altro toglietelo pure .
stò utilizzando uno script per l'upload di file nel proprio sito web che consente di impostare un nome casuale al file.
Lo script in questione serve per l'upload di file. Stò testando questo script perchè il precedente aveva un bug parecchio eccessivo... in ogni caso l'errore che mi da è sempre lo stesso
(se compilo tutti i campi)
Si è verificato un erore durante l'upload del file.
insomma, errore generico messo dall'array specifico.
io me ne intendo poco di php, quindi l'errore potrebbe essere molto banale.
l pagina UPLOAD.php ha questo codice
Codice PHP:
<?
require_once("config.php");
$directory = "/IMM";
// inseriamo le dimensioni massime consentite per l'upload
// massimo peso
$max_file_size = 52428800;
// massima larghezza
$max_width = 1000;
// altezza massima
$max_height = 1000;
//La parte seguente di codice verifica se esiste il valore "upload" in POST
//In caso contrario viene visualizzato il form per l'upload dell'immagine
if(!isset($_POST['upload'])){
echo "<form action='UPLOAD.php' method='post' enctype='multipart/form-data'>
Nome Immagine:
<input type='text' name='nomeimmagine' />
Inserisci file:
<input type='file' name='immagine' />
<input type='submit' name='upload' value='Carica Immagine' /></form> ";
}
// enctype='multipart/form-data' all'interno del tag form è fondamentale per l'upload dell'immagine
elseif(isset($_POST['upload'])){
// prendo il timestamp per dare un nome casuale al file dell'immagine
$timestamp = time();
$nomeimmagine = mysql_real_escape_string($_POST['nomeimmagine']);
$dimensioni = getimagesize($_FILES['immagine']['tmp_name']);
$larghezza = $dimensioni[0];
$altezza = $dimensioni[1];
//costruisco l'array degli errori
$errors = array();
if(empty($nomeimmagine) || empty($dimensioni)) {
$errors[] = 'Non hai inserito un nome all'immagine.';
}
if(empty($_FILES['immagine']['name'])) {
$errors[] = 'Non hai inserito l'immagine per il caricamento';
}
//verifico se il file è stato caricato correttamente
if(!is_uploaded_file($_FILES['immagine']['tmp_name'])) {
$errors[] = 'Si sono verificati errori durante l'upload.';
}
if($_FILES['immagine']['size'] > $max_file_size) {
$errors[] = 'Immagine troppo pesante la dimensiome massima consentita è: [b]' . $max_file_size . '[/b] bytes.';
}
// Verifico se l'immagine è di tipo jpeg o gif
$type=$_FILES['immagine']['type'];
if($type != "image/gif" && $type != "image/jpeg" && $type != "image/jpeg" && $type != "image/bmp" && $type != "image/png" && $type != "application/pdf" && $type != "image/tiff" && $type != "image/x-icon" && $type != "text/plain" && $type != "application/msword" && $type != "application/rtf" && $type != "application/x-compressed" && $type != "application/x-tar" && $type != "audio/mpeg" && $type != "video/mpeg" && $type != "video/avi" && $type != "audio/mpeg3" && $type != "video/quicktime" && $type != "video/mpeg" && $type != "audio/x-midi" && $type != "x-music/x-midi" && $type != "application/x-shockwave-flash" && $type != "" && $type != "" && $type != "") {
$errors[] = 'L'immagine deve essere del formato JPEG o GIF.';
}
// controllo le dimensioni dell'immagine
if($altezza > $max_width) {
$errors[] = 'L'altezza della tua immagine è troppo grande';
}
if($larghezza > $max_width) {
$errors[] = 'La tua immagine è troppo larga.';
}
// Se ci sono stampo gli errori
if(count($errors) > 0) {
echo '[b]ERRORS:[/b]
';
foreach($errors as $err) {
echo $err . '
';
}
}
//altrimenti effettuo l'upload
else {
$urlimmagine = $directory. time() . '_' . $_FILES['immagine']['name'];
//inserisco l'immagine nella directory e se tutto va bene nel database
if(copy($_FILES['immagine']['tmp_name'], $urlimmagine)) {
mysql_query("INSERT INTO immagini (nomeimmagine, urlimmagine) VALUES ('$nomeimmagine', '$urlimmagine')");
echo 'L'immagine è stata caricata con successo. [url="' . $urlimmagine . '"]Clicca qui per vedere l'immagine[/url].';
if ($type = "image/gif" or $type = "image/jpeg" or $type = "image/bmp") {
echo "<IMG src=\"/$img_name_dir/$nome_img\" width=\"\" height=\"*\">
";}
echo "Link diretto al file:
<center><input type=\"text\" size=\"50\" value=\"http://youload.altervista.org//$img_name_dir/$nome_img\"</center>
</p>";
echo "Link in BBCode per forum:";
{
echo "<center><input type=\"text\" size=\"50\" value=\"[IMG][url="http://youload.altervista.org//"][url]http://youload.altervista.org//[/url][/url]$img_name_dir/$nome_img[/IMG]\"> </center>
"; }
echo "<center><input type=\"text\" size=\"50\" value=\"[URL][url="http://youload.altervista.org//"][url]http://youload.altervista.org//[/url][/url]$img_name_dir/$nome_img[/URL]\"></center>
";
echo "Download Link in Html:
<center><input type=\"text\" size=\"50\" value=\"<a href="http://youload.altervista.org/$img_name_dir/$nome_img"> Get File</a>\"</center>
";
echo "<A href=\"java-script:history.back()\">Torna indietro.</A>
"; // se il file è stao caricato
}
else
echo 'Si sono verificati errori durante il caricamento dell'immagine.';
}
}
?>
mentre la pagina relativa al fatabase, config.php, h aquest'altro codice
Codice PHP:
<?
$username = "youload"; // nome utente del vostro database (di solito è 'root')
$password = ""; // password del vostro database (di solito è '')
$database = "my_youload"; // nome del database che avete creato
$server = "localhost"; // nome del server (di solito è 'localhost')
mysql_connect($server, $username, $password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
?>
sapete aiutarmi?
le pagine già caricate (il codice è quello che vi ho dato, però così potete testarle)
"partono" da qua link
se vi può essere utile saperlo io in questo script ho messo del mio solo nella parte dei risultati in caso di upload (visualizzazione dell'immagine se immagine, link ecc..)
vi ringrazio in anticipo. ciaooo