Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 07-12-11, 13:14   #1 (permalink)
User
 
Data di registrazione: May 2010
Messaggi: 10
Percentuale di progressione upload file

Ciao a tutti, premetto che ho cercato a lungo una soluzione al problema su internet e sul forum, ma ho spesso trovato soluzioni vecchie e molto macchinose. (Io preferirei non utilizzare script pronti)

Ho una pagina (in php) che permette attraverso un form HTML di effettuare l'upload di un file (nel mio caso *.zip). Quando l'utente clicca su "upload",attraverso uno script in javascript, appare un div nascosto con una gif animata e un testo "loading..." per far intendere che l'upload è in corso.
Nel mio caso capita che alcuni utenti carichino file di grosse dimensioni quindi l'upload può durare diversi minuti; io quindi vorrei far in modo che oltre alla gif e al testo appaia una percentuale di caricamento (naturalmente sarebbe più carino avere una barra di progressione ma mi accontento anche della sola percentuale).

pagina: upload.php

Codice PHP:
<FORM action="save.php" method="post" ENCTYPE="multipart/form-data" onSubmit="showSpindle()" >
<
INPUT type="file" size="46" name="zip" /><br><br>
<
INPUT TYPE="submit" VALUE="upload" style="width: 50px; margin-top: -5px;" />
</
FORM>

<
div class="pic" id="spindle" style="display:none">
<
img alt="Loading..." style="display:block;margin:20px 30px;" src="spindle.gif">
<
div id="loading_txt">Loading...</div>
</
div
script in javascript per far comparire il div nascosto una volta cliccato su "upload"

Codice HTML:
<script type="text/javascript">
	function showElem(elem_id,elem_type) 
	{
		var elem = document.getElementById(elem_id);
		if (elem) 
		{
			if (elem_type) 
			elem.style.display = elem_type;
		else 
		{
			if (elem.nodeName == "DIV"
			|| elem.nodeName == "TABLE"
			|| elem.nodeName == "UL"
			|| elem.nodeName == "OL"
			|| elem.nodeName == "H1"
			|| elem.nodeName == "H2"
			|| elem.nodeName == "H3"
			|| elem.nodeName == "H4"
			|| elem.nodeName == "P") 
							
				elem.style.display = 'block';
							
			else if (elem.nodeName == "TR") elem.style.display = 'table-row';
			else if (elem.nodeName == "TD") elem.style.display = 'table-cell';
			else if (elem.nodeName == "LI") elem.style.display = 'list-item';
			else elem.style.display = 'inline';
		}
	}
} 
			
function showSpindle() 
{
	showElem('li_inserted_pics');
	showElem('spindle');
} 
		
</script>
bitproduction non in linea   Rispondi citando
Vecchio 11-12-11, 09:12   #2 (permalink)
User
 
L'avatar di mecha
 
Data di registrazione: Oct 2006
Ubicazione: Civitanova Marche (MC)
Messaggi: 54
Invia un messaggio tramite Skype a mecha
Ho trovato uno script (php+javascript) che fa al caso tuo, sia che tu voglia adottarlo in blocco o che voglia guardare sotto il cofano come funziona :-)

L'indirizzo è: valums.com/ajax-upload/

ciao!
mecha non in linea   Rispondi citando
Vecchio 11-12-11, 09:34   #3 (permalink)
User
 
L'avatar di mecha
 
Data di registrazione: Oct 2006
Ubicazione: Civitanova Marche (MC)
Messaggi: 54
Invia un messaggio tramite Skype a mecha
In pratica, da quel che sto leggendo, è supportato solo con l'HTML% e passando per l'XMLHttpRequest

Ho trovato un tutorial e l'ho già messo tra i preferiti, che mi interessa la questione :-)

Il link: matlus.com/html5-file-upload-with-progress/
mecha non in linea   Rispondi citando
Vecchio 11-12-11, 15:36   #4 (permalink)
User
 
Data di registrazione: May 2010
Messaggi: 10
ti ringrazio per la risposta.. in effetti quello script l'ho trovato diverse volte girovagando per google ed è l'unico che funziona abbastanza bene.. però cercavo di fare qualcosa di molto più semplice e penso che con le nuove versioni di php si possa fare.
Ad esempio utilizzando delle funzioni nuove che funzionano su php 5.4 come:
php.net/manual/en/session.upload-progress.php
Purtroppo non posso testarla perchè il mio host ha una versione precedente di php e non ci posso metter mano.
In ogni caso do uno sguardo al tutorial che hai postato magari si trova qualcosa di interessante
bitproduction non in linea   Rispondi citando
Rispondi
Tags: , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:39.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.