ok ecco qua ragazzi ho riscritto tutto.
Tenterò di essere il più chiaro possibile e di farvi capire cosa devo fare e cosa non funziona nel sistema che ho creato.
Praticamente sto creando un upload di immagini prodotto che devono essere prelevate opportunamente e per farlo ho bisogno di associare loro un nome predefinito.
Dato che non so di preciso quanti prodotti saranno ho deciso di assegnare loro un numero crescente ad ogni upload.
Esempio: 0.jpg, 1.jpg, 2.jpg etc etc.
Per fare questo ho creato uno script che si occupa di scrivere il numero nel recordeset del db e quello funziona benissimo, però poi per poter inserire in una cartella del mio web server le immagini con l'esatto nome assegnatoli ovvero il numero esatto ho creato lo script che ho riportato sotto.
Tale script si occupa per prima cosa di intercettare il numero con una query di select, di seguito creo un ciclo whyle dove creo una variabile chiamata $n e la inserisco in un array chiamato memoria che contiene l'id autoincrement del database poi conto il contenuto dell'array con il metodo count.
A questo punto ho creato un array sensibile all'incremnto e al decremento di un immagine, quindi con il primo script scrivo 1.jpg e dopo con il secondo prendo il numero 1 creo la tipologia concatenando la variabile $foto e la variabile $tipologia e passo il nome esatto all'upload.
Il problema è che l'upload ogni tanto fa scherzi e delle volte sovrascrive per esempio la foto chiamata 1.jpg e la rinomina in 4.jpg
e non ho capito proprio perchè e sto diventando pazzo.
<?php
////////////////// PARAMETRI DB //////////////////
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
/////////////////// CONNESSIONE DB ////////////
$connessione = mysql_connect("localhost", "admin_ec_beaty", "dbpassword") or die("Impossibile connettersi al server host");
mysql_select_db(beauyit1_ec, $connessione) or die ("Impossibile selezionare il database.");
////////////////////////// QUERY SELECT ////////////////
$sql=mysql_query("SELECT immagine from prodotti");
////////////////////////////////////////////////////////////
//////////////////// CICLO WHYLE //////////////////////
// il ciclo whyle mi serve per prelevare un numero all'interno del recordeset del db tale numero è ricavato dall'id autoincrement del db e l'ho raggruppato in un array chiamato $memoria che mi servirà
per evidenziare il tracciato del nome di ogni singola immagini con un numero crescente ovvero: 0.jpg , 1.jpg, 2.jpg etc etc.... ///////
while ($mn=mysql_fetch_array($sql)){
$n[]=$memoria['id_prodotto'];
}
/////////////////////////////////////////////////////////////////
///// VARIABILE N + ARRAY MEMORIA + TIPOLOGIA "JPG" + CONCATENAMENTO
// queste variabili mi servono per creare il nome della foto da passare all'upload///
$memoria=$n;
$memoria=count($memoria);
$tipologia=".jpg";
$foto=$memoria.$tipologia;
//////////////////////////////// UPLOAD ///////////////////////
/// mia analisi dello script preso dalla rete + mie perplessità: ///
$percorso= './'; // indica il percorso dove immettere la foto
$uploadfile = ''.$percorso.basename( $_FILES['Filedata']['name'] ); // concatenamento di percorso più memorizzazione dell' immagine presa dall'hd///
$sposto=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile ); // metodo move_uploaded_file per spostare la foto nella cartella //
$nomefileimmagine=$percorso.$foto; //contenitore che raggruppa percorso più foto//
if($sposto){ // perprlessità perchè questa if ?
if (file_exists($nomefileimmagine)){ // questo verifica se l'immagine esiste già //
unlink($nomefileimmagine); // metodo unlink a cosa serve? //
}
$nuovofile=''.$percorso.$_FILES['Filedata']['name']; // Perchè questa variabile ? è lei la disgraziata che rinomina la foto esistente con l'ultimo upload effettuato?//
rename($nuovofile,$nomefileimmagine); // metodo rename per rinominare//
echo($nomefileimmagine); // echo verifica //
}
/////////////////// CONNESSIONE ELIMINATA
mysql_close($connessione);
?>
HELP ME PLEASE