<?php
////////////////// PARAMETRI DB //////////////////
//TOLTA PERCHE VA BENE E PORTA VIA SPAZIO
//////////////////// 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.... ///////
QUESTO SUCCEDE (PER CASO), COL METODO CHE USI, SOLO SE GLI id SONO CONSECUTIVI 1, 2, 3, ECC...
SE ELIMINI UNA FOTO (ES. QUELLA CON id==2) E VAI AD INSERIRE UNA NUOVA FOTO, IL SUO id DIVENTA 4, PER CUI NELLA tabella
NON AVRAI id CONSECUTIVI MA 1, 3, 4 ECC... RIBADISCO QUELLO CHE FAI, ALLA FIN FINE, E' SOLO CONTARE IL NUMERO DEI RECORD
PER CUI NON OTTERAI 4.jpg MA 3.jpg
AL CONTRARIO SE VUOI CHE LA FOTO ABBIA UN NOME SUCCESSIVO DEVI
FARE UNA SELECT CHE TI ESTRAE IL MAX(id) E NOMINI LA LA NUOVA FOTO CON
$id_successivo=$massimo_id_nella_tabella + 1;
$foto=$id_successivo.".jpg";
*/
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///
//CONTINUO A NON CAPIRE PERCHE TU NON FACCIO IL SEMPLICE mysql_num_rows SECONDO ME, PROVA
//$quanti=mysql_num_rows($sql);//riga che conta i record
$memoria=$n;
$memoria=count($memoria);// guarda http://www.php.net/manual/en/function.count.php
$tipologia=".jpg";
$foto=$memoria.$tipologia; //?? E' QUESTO IL NOME CON CUI L'IMMAGINE SARA' ARCHIVIATA??
/* E QUESTO
if($memoria==$quanti){
echo "vedi che i due numeri sono gli stessi?";
}else{
echo "HAI RAGIONE TU, sono diversi";
}
*/
//////////////////////////////// UPLOAD ///////////////////////
/// mia analisi dello script preso dalla rete + mie perplessità: ///
$percorso= '../'; // indica il percorso dove immettere la foto IO METTEREI UN PUNTO IN PIU' NON SI SA MAI
// A CHE TI SERVE IL CONCATENAMENTO ''. NELLA RIGA SOTTO ??
$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=$storage.$foto; //contenitore che raggruppa percorso più foto//NON DOVEVAESSERE $percorso?
if($sposto){ // perprlessità perchè questa if ? VERIFICA L'AVVENUTO move (TRUE o FALSE)
if (file_exists($nomefileimmagine)){ // questo verifica se l'immagine esiste già //
unlink($nomefileimmagine); // metodo unlink a cosa serve? // CANCELLA L'IMMAGINE CON NOME $nomefileimmagine SE ESISTE DI GIA
}//fine if file_exists
//IO METTEREI basename ANCHE QUI
$nuovofile=''.$percorso.basename($_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 //
}//fine if $sposto
/////////////////// CONNESSIONE ELIMINATA, puoi anche non scriverlo, si chiude autonomamente alla chiusura della pagina
mysql_close($connessione);
?>
<?php
/* PARAMETRI DEL DATABASE */
$dbhost = 'localhost';
$dbuser = 'dbuser';
$dbpass = 'dbpassword';
$dbname = 'dbname';
/* CONNESSIONE AL DATABASE */
$connessione = mysql_connect($dbhost, $dbuser, $dbpass) or die('Impossibile connettersi al server host');
mysql_select_db($dbname, $connessione) or die ('Impossibile selezionare il database.');
/* QUERY DI SELEZIONE */
$sql = mysql_query("SELECT immagine from prodotti");
/* CICLO WHILE */
$n = array();
while($mn = mysql_fetch_array($sql))
$n[] = $memoria['id_prodotto'];
/* CONCATENAMENTO E DEFINIZIONE TIPOLOGIA */
$tipologia = '.jpg';
$foto = count($n) . $tipologia;
/* UPLOAD DELL'IMMAGINE NELLA CARTELLA */
$percorso= './';
$uploadfile = $percorso . basename($_FILES['Filedata']['name']);
$nomefileimmagine = $percorso . $foto;
if(move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadfile))
{
if(file_exists($nomefileimmagine))
unlink($nomefileimmagine);
/* RINOMINA DEL FILE DI IMMAGINE */
$nuovofile = $percorso . $_FILES['Filedata']['name'];
rename($nuovofile, $nomefileimmagine);
echo($nomefileimmagine);
}
/* CHIUSURA CONNESSIONE */
mysql_close($connessione);
?>
guarda che tra i commenti (vicino) c'eraPer borgo italia: la funzione unlink cancella un file.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?