Salve a tutti di nuovo,
Posto una nuova conversazione. Non so se è un argomento attinente alla query oppure è completamente diverso. Visto che chiedono un post un problema mi adeguo. Ho uno script modificato di multiuload. Per multi-upload intendo ctrl+ mouse dx e selezioni più di un'immagine. Posto prima l'originale:
index.php
insert_immages.php
Ora tutto questo funziona così singolarmente e una volta che memorizzo l'immagine mi fa la visualizzazione della sua immagine memorizzata fino a qua tutto ok.
Ora posto il mio script leggermente modificato o anche incasinato. Chiamatelo come volete. Non mi offendo ehehehe:
upload.php
Come potete notare, ho unificato il tutto. per mia semplicità. Però i risultati ottenuti sono i seguenti:
1) L'immagine viene memorizzata nel db
2) Controllando il db ho completamente vuoto il campo immagine. Ora vorrei sapere da voi, se c'è qualche sbaglio oppure se c'è qualche sbaglio nella query di insert. perchè i campi mi risultano vuoti ???? Posto anche un'immagine del db.
Spero di ricevere co9nsigli e aiuti grazie.
Posto una nuova conversazione. Non so se è un argomento attinente alla query oppure è completamente diverso. Visto che chiedono un post un problema mi adeguo. Ho uno script modificato di multiuload. Per multi-upload intendo ctrl+ mouse dx e selezioni più di un'immagine. Posto prima l'originale:
index.php
PHP:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.js" type="text/javascript"></script>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js'></script>
<script src='http://memai.altervista.org/js/jquerymin.js'></script><script
<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('img_temp/',0777);
}
if(!file_exists('immages'))
{
mkdir('immages/',0777);
}
if($_POST['sub'])
{
#Inizializzo la cartella dove andranno a finire le imamgini
$dir = 'img_temp/';
#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:100px; height:100px'>
<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
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);
}
}
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 = "immagini/$foto_t[$x]";
echo "<img src='".$immagine_t."' width='100px' height='100px'> ";
#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,'immagini/'.$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."')"; //Qua, come potete vedere c'è la query d'inserimento nel db per i link delle foto che uno vuole caricare
mysql_query($insert_query);
}
echo "Le immagini sono state inserite nel database con successo!";
}
mysql_close();
?>
Ora tutto questo funziona così singolarmente e una volta che memorizzo l'immagine mi fa la visualizzazione della sua immagine memorizzata fino a qua tutto ok.
Ora posto il mio script leggermente modificato o anche incasinato. Chiamatelo come volete. Non mi offendo ehehehe:
upload.php
PHP:
<?php
require_once("connetti.php");
if(!file_exists('img_temp'))
{
mkdir('img_temp/',0777);
}
if(!file_exists('immagini'))
{
mkdir('immagini/',0777);
}
if($_POST['upload']) {
#Inizializzo la cartella dove andranno a finire le imamgini
$dir = 'img_temp/';
#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($sorgente) = 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:100px; height:100px'>
<input id='hidden<?php echo $n ?>' type='hidden' value='<?php echo $dir.$nome[$n] ?>'/>
</div>
<?php
$n++; #aumento la variabile inizializzata per il funzionamento dello while
}
#Function Cartella di inser_immages.php
{
#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);
}
}
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 = "immagini/$foto_t[$x]";
echo "<img src='".$immagine_t."' width='100px' height='100px'> ";
#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,'immagini/'.$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!";
}
exit;
mysql_close();
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<body>
</head>
<!---- Form per caricare la foto ctrl+tasto mouse dx ---->
<form action='' method='POST' enctype='multipart/form-data'>
<input type='file' name='file[]' multiple size ="60"/>
<input type='submit' name='upload' value='Salva'/>
</form>
</body>
</html>
Come potete notare, ho unificato il tutto. per mia semplicità. Però i risultati ottenuti sono i seguenti:
1) L'immagine viene memorizzata nel db
2) Controllando il db ho completamente vuoto il campo immagine. Ora vorrei sapere da voi, se c'è qualche sbaglio oppure se c'è qualche sbaglio nella query di insert. perchè i campi mi risultano vuoti ???? Posto anche un'immagine del db.
Spero di ricevere co9nsigli e aiuti grazie.