Uploadify e salvataggio immagini nel DB

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Finito un problema, ne inizia un'altro. Il solito maledettissimo problema di upload foto e sua memorizzazione all'interno del db. Riporto una discussione dove stavamo iniziando a lavorarci, così:

Nessun progetto. Per l'upload http://www.uploadify.com

Mi rivolgo a tutti, ma sopratutto a chi mi ha inviato il link, ciao marcomg, questa è la nuova discussione sull'upload delle immagini (possibilmente in formato dinamico). Se qualcuno ha qualche idea, ben venga. Ho scaricato lo script in formato flash e mi sembra buono. Però ko vorrei modificare per le mie esigenze. Le esigenze sono le seguenti:

1) Upload multiplo (per intenderci quando si fa ctrl+tastino mouse) delle immagini (come dall'esempio),

2) Titolo dell'album,

3) Salvataggio delle immagini nel db (solo il link di collegamento).

Allego l'esempio così magari qualcuno mi può dare qualche idea per modificarlo. Grazie a tutti per la collaborazione.
 
Non credo che il titolo sia attinente con quello che desideri.
In più hai anche scritto tutta una lista di cose che vorresti che lo script facesse, dalle mie parti si dice "vo' puru na cosa de sordi?" (tradotto: vuoi anche un pò di soldi?), nel senso che è troppo facile fare come hai fatto tu:
1) Scarico lo script;
2) Me lo faccio modificare a mio piacimento;
3) Lo carico sul mio sito e vissero tutti felici e contenti.
 
Ho rinominato la discussione.
Cerchiamo di evitare i titoli generici (come "ciao") senno' non si capisce più nulla :-)

Ciao
 
Rispondo....

Non credo che il titolo sia attinente con quello che desideri.
In più hai anche scritto tutta una lista di cose che vorresti che lo script facesse, dalle mie parti si dice "vo' puru na cosa de sordi?" (tradotto: vuoi anche un pò di soldi?), nel senso che è troppo facile fare come hai fatto tu:
1) Scarico lo script;
2) Me lo faccio modificare a mio piacimento;
3) Lo carico sul mio sito e vissero tutti felici e contenti.

Nonera questa la mia intenzione di avere la pappa pronta. Ho buttato giù qualche ideaal riguardo delle immagibi. Si vero ho caricato uno script perchè era l'unica cosa che potevo postare attualmente, visto che per ricevere aiuto si chiede sempre di postare i codici php. Purtroppo non sono molto bravo in php e sto cercando d'imparare il più velocemente possibile ma non per questo chiedo e mi sarà fatto. Non è nella mia natura chiedere e avere subito pronto lo script. Volevo solo qualche suggerimento, visto che l'upload delle immagini è un argomento abbastanza duro da affrontare. Qui ho trovato sempre gente disponibile ad aiutarmi e a trovare gli errori sui file Ho superato, grazie ad una persona, che mi ha aiutato molto a superare l'invio delle email tramite nas, ho cercato anche nei vari forum, addirittura il forum della synology italia,e li nemmeno mi hanno risposto alla domanda che avevo fatto. Quindi chi mi vuol aiutare ben venga e saà apprezzato, altrimenti amici come prima Ceedo di essere stato abbastanza chiaro.
 
Ciao paperinik4,

Nessun problema con la tua discussione... l'unica cosa era il titolo.
I titoli devono essere la "sintesi" di quello di cui si discute... se scriviamo cose generiche tipo: Ciao, Aiuto, Problema, ecc... non si capisce più nulla e per sapere a quale discussione partecipare bisognerebbe aprirle tutte.

Quindi, d'ora in vanati, semplicemente ricordati di dare sempre un titolo corretto ad ogni discussione che apri.
Per il resto va tutto bene, no problem!

Ciao e buona permanenza sul forum!
 
Ciao paperinik4,

Nessun problema con la tua discussione... l'unica cosa era il titolo.
I titoli devono essere la "sintesi" di quello di cui si discute... se scriviamo cose generiche tipo: Ciao, Aiuto, Problema, ecc... non si capisce più nulla e per sapere a quale discussione partecipare bisognerebbe aprirle tutte.

Quindi, d'ora in vanati, semplicemente ricordati di dare sempre un titolo corretto ad ogni discussione che apri.
Per il resto va tutto bene, no problem!

Ciao e buona permanenza sul forum!


Ciao,

Innanzi tutto ti volevo ringraziare. Poi volevo sapere perchè longo8 si è inkazzato tanto per il fatto che ho messo uno script. Non mi sembrava una cosa oscena. Almeno come l'ha interpretata lui. Per favore se puoi dare un'occhiata a quello che mi ha scritto..... Era un rimprovero più che del titolo che avevo messo, riferito alle varie modifiche. Grazie.
 
Non era un rimprovero, non sono nessuno per poter rimproverare.
Se buttassi giù qualche riga di codice per poter sviluppare il primo punto, per esempio, e trovassi un intoppo allora sarò il primo (se non il primo di sicuro uno dei primi) a mettermi all'opera per poterti aiutare ;) be happy!
 
ciao paperinik4,
scusa una cosa. da quello che ho capito (non ho aperto lo zip) si tratta di tecnologia flash, ma se stai appena imparando php? cosa conosci del actionscript di flash per poterlo modificare e/o integrarlo con php?
 
Ciao

niente, appunto avevo messo lo script per vede se qualcuno magari mi poteva dare una mano. Questo script farebbe al caso mio penso, perchè c'è l'avanzamento della barra dell'upload, mi sembra che non abbia limiti di mb o kb, ed è abbastanza veloce a caricare l'immagine. però gli manca la memorizzazione nel db e il thumb, appunto chiedevo una mano.

Io posso postare anche un esempio che mi è stato fatto:

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://ajax.googleapis.com/ajax/jquerymin.js'></script><script    //cambiato nome dello script perchè c'era il nome di chi me l'ha inviato

<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>

insertt_immagines.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);
				}
			}
			$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='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,'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

PHP:
<?php

require_once("connetti.php");

echo $_GET['img']." eliminata con successo!</div>";
#elimino il file con la funzione unlink()
unlink($_GET['img']);
?>


Questo in pratica, carica le immagini e a sua volta fa le thumb e le fa visualizzare subito. Nonè dinamico ovviamente. A me servirebbe se fosse possibile, non visualizzare subito le thumb, ma dare un nome all'album e inserirle dentro l'album. Con il relativo salvataggio dei link in modo tale che l'utente poi le possa vedere quando vuole e rapidamente.
 
Ultima modifica:
Anche se ti sconsiglio di usare il flash. Non è compatibile con tutte le tecnologie ed è prettamente inutile. Per stupire!
 
Ciao

Anche se ti sconsiglio di usare il flash. Non è compatibile con tutte le tecnologie ed è prettamente inutile. Per stupire!

Ho una pecca nel leggere la documentazione. Purtroppo è tutta in inglese, ed io l'inglese non lo mastico per niente bene. Anzi, faccio fatica. Non volevo per far stupire ovviamente. Pensavo che fosse una soluzione pratica e voloce da poter modificare. Non so se hai letto nella prima pagina ho postato un'esempio riguardanti l'upload fatto in php e non dinamicamente. Ora vorrei ovviamente gentilmente, che qualcuno mi spiegasse la differenza tra il dinamicismo di un sito e ovviamente un sito fatto interamente in php. Da quello che ho potuto intuire, correggimi se sbaglio, è che un sito dinamico è più veloce rispetto al php. Sopratutto per quanto riguarda l'uoload (almeno così ho capito), delle foto. In ultimo, un sito fatto dinamico, risulta compatibile con tutti i broweser attualmente a disposizione ???? Ultimo punto, si tratta per caso del famoso html5 o xhtml o non c'entra na sega ???. Grazie, spero di ricevere dei chiarimenti in proposito. Ora provo a leggere la documentazione che mi hai linkato.
 
Ora ti spiego perché sono contrario al flash. È pesante, non compatibile con tutti i sistemi operativi, fa fatica a girare su dispositivi mobili. Io uso Debian, un sistema GNU/Linux e per esso il supporto a flash è stato interrotto recentemente. Non ci saranno più nuove versioni. È vero che la fetta di utenti di Linux o BSD sono pochi, ma ci sono!

La differenza fra sito dinamico e non la si trova cercando su google. Wikipedia la spiega bene!
Per l'upload delle foto non è che sia più veloce. Semplicemente ti ritrovi una barra che di avanzamento. Di per se è inutile, ma se si ha a che fare con file enormi evitano che l'utonto ricarichi la pagina.
Html5 c'entra, ma se utilizzi flash non ti serve. Comunque non sono un grande esperto di html e di css ne so il minimo indispensabile. Non sono bravo con la grafica e l'abbinamento dei colori ;)
 

Discussioni simili