Buongiorno a tutti..
Ho trovato questo script in rete e ve lo posto per darvi un quadro dettagliato della situazione, prima di porre quesiti/consigli.
connetti.php
Codice PHP:
<?php
$link = mysql_connect('localhost', 'nome utente', 'passw');
if (!$link) {
die ('Non riesco a connettermi: ' . mysql_error());
}
$db_selected = mysql_select_db('miodatabase', $link);
if (!$db_selected) {
die ("Errore nella selezione del database: " . mysql_error());
}
?>
index.php
Codice PHP:
<script >
lì ho dovuti togliere perchè da fastidio al sistema e non mi fa inviare il messaggio
<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>
insert_immages.php
Codice PHP:
<?php
require_once("connetti.php");
if(isset($_POST['fine']))
{
#Inserisci questa funzioncina per leggere tutti i file contenuti nella cartella immagini
#che poi verranno inseriti nel db tramite una query grazie ad un for
function illustrazioni($cartella){
$foto=Array();
if(file_exists($cartella)){
$directory = opendir($cartella);
while (false !== ($file = readdir($directory))) {
if(is_file($cartella.$file)){
array_push($foto,$file);
}
}
$handle = closedir($directory);
}
sort($foto);
return $foto;
}
$foto_t=array();
$foto_t=illustrazioni("img_temp/");
$conta = count($foto_t);
for ($x=0; $x<$conta; $x++)
{
$immagine_t = "img_temp/$foto_t[$x]";
$immagine = "immages/$foto_t[$x]";
echo "<img src='".$immagine_t."' width='150px' height='150px'> ";
#questa variabile contiene il valore dell'url finale che si inserirà alla fine
#Sposto i file nella cartella temporanea in quella fissa
copy($immagine_t,'immages/'.$foto_t[$x]) or die('non si sposta la foto');
##infine elimino il file nella directory temporanea
unlink($immagine_t);
$insert_query = "INSERT INTO immagine(immagine) VALUES('".$immagine."')";
mysql_query($insert_query);
}
echo "Le immagini sono state inserite nel database con successo!";
}
mysql_close();
?>
togli.php
Codice PHP:
<?php
require_once("connetti.php");
echo $_GET['img']." eliminata con successo!</div>";
#elimino il file con la funzione unlink()
unlink($_GET['img']);
?>
Veniamo al dunque..
Utilizzo questo script nella pagina di accesso utente e vorrei che il thumb che appare finito l'upload,venisse salvato a video con un link "modifica immagine"sotto...Ma non riesco a manipolare lo script e vi chiedo aiuto..
Inoltre non capisco nemmeno se la tabella "immagine " che ho creato nel mio db con unico campo immagine/blob e' corretta...
Consigli???