Salve a tutti , ho creato sul mio sito altervista (che possiede anche un sistema di registrazione e login) un sistema per fare l' upload di immagini che sarebbero immagini del profilo...
Infatti quando una persona carica l' immagine questa viene inserita nella cartella immages e viene visualizzata nel profilo.
Fin qui tutto normale, ma quando poi effettuo il logout dal mio sito e magari poi rientro l' immagine del profilo è sparita dalla pagina di profilo ma continua a restare nella cartella immages...
Io vorrei che l' immagine continui a restare fino a quando l' utente decida di eliminarla.... Mi potete aiutare? Ecco i codici della form e del php che farà funzionare il sistema:
HTML Code:
<script>
function togli(x)
{
$('#'+x).toggle();
var immagine = document.getElementById('hidden'+x).value;
$.get('togli.php',{img:immagine},function(done){$('#cancella_img').html(done)});
}
function carica()
{
$.post('insert_immages.php',{fine:'yes'},function(done){$('body').html(done)});
}
</script>
<?php
require_once("connetti.php");
#se non esistono delle cartelle le creo
if(!file_exists('img_temp'))
{
mkdir('immages/',0777);
}
if(!file_exists('immages'))
{
mkdir('immages/',0777);
}
if($_POST['sub'])
{
#Inizializzo la cartella dove andranno a finire le imamgini
$dir = 'immages/';
#ricevo i dati delle immagini
#$nome per il nome del file, es: pippo.jpeg
$nome = $_FILES['file']['name'];
#$nome_temporaneo invece per il nome temporaneo che
#il server crea per l'immagine pippo.jpeg
$nome_temporaneo = $_FILES['file']['tmp_name'];
#Inizializzo una variabile a cui dò un valore intero pari a 0
#semplicemente per far girare il codice while e leggere l'array
$n=0;
#finche n sarà minore delle immagini caricate, il ciclo continuer�
while($n<count($nome))
{
#trovo le informazioni , come: l'altezza, la larghezza e il sorgente delle immagini
#creando una lista e usando poi getimagesize() per prelevare le informazioni
list($larghezza,$altezza,$sorgente,$attributo) = getimagesize($nome_temporaneo[$n]);
#creo uno switch in base al sorgente e per ogni caso effettuer� un preciso evento
switch($sorgente)
{
case IMAGETYPE_GIF:
#creo le immagini
$immagine = imagecreatefromgif($nome_temporaneo[$n]);
imagegif($immagine, $dir.$nome[$n]);
break;
case IMAGETYPE_JPEG:
$immagine = imagecreatefromjpeg($nome_temporaneo[$n]);
imagejpeg($immagine, $dir.$nome[$n]);
break;
case IMAGETYPE_PNG:
$immagine = imagecreatefrompng($nome_temporaneo[$n]);
imagepng($immagine, $dir.$nome[$n]);
break;
case IMAGETYPE_BMP:
$immagine = imagecreatefrombmp($nome_temporaneo[$n]);
imagebmp($immagine, $dir.$nome[$n]);
break;
}
#Creo il div dove gli assegno l'id per identificare con JQuery le imamgini appena caricate
?> <div id='<?php echo $n?>'>
<img src='<?php echo $dir.$nome[$n]?>' style='width:150px; height:150px'>
<input id='hidden<?php echo $n ?>' type='hidden' value='<?php echo $dir.$nome[$n] ?>'/>
<div onclick='togli("<?php echo $n ?>")'>Togli</div>
</div>
<div id='rimetti<?php echo $n ?>' onclick='rimetti("<?php echo $n ?>")' style='display:none'>Rimetti</div>
<?php
$n++; #aumento la variabile inizializzata per il funzionamento dello while
}
?>
<div id='cancella_img'></div>
<input type='submit' value='carica' onclick='carica();void 0'/>
<?php
exit;
}
?>
<form action='' method='POST' enctype='multipart/form-data'>
<input type='file' name='file[]' multiple size ="60"/>
<input type='submit' name='sub' value='Carica'/>
</form>
Ed infine ecco i codici per eliminare la foto:
<?php
require_once("connetti.php");
echo $_GET['img']." eliminata con successo!</div>";
#elimino il file con la funzione unlink()
unlink($_GET['img']);
?>
Non vi posto la pagina connetti.php perchè non credo che sia di li il problema spoprattutto perchè il sistema si connette benissimo al database