Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 31

Discussione: caricamento in corso (upload)

  1. #1
    Guest

    Predefinito caricamento in corso (Upload)

    Salve, volevo chiedervi come posso inserire una scritta (o ancora meglio, una gif) che dice "Caricamento in corso", quando clicco su submit.
    Vi spiego, è un tool tipo image shack e vorrei far apparire caricamento in corso durante L'Upload del file.

    Come si fa?

    Vi posto lo script.. se siete così gentili da aiutarmi.. Grazie



    Codice:
    // Use random file names? true=yes (recommended), false=use original file name. Random names will help prevent overwritting of existing files!
    $random_name=true;
    
    // Please keep the array structure.
    $allow_types=array("jpg","gif","png","zip","rar","txt","doc");
    
    // Path to files folder. If this fails use $fullpath below. With trailing slash
    $folder="./uploads/";
    
    // Full url to where files are stored. With Trailing Slash
    $full_url="http://www.junioranonimmail.altervista.org/upload/uploads/";
    
    // Only use this variable if you wish to use full server paths. Otherwise leave this empty! With trailing slash
    $fullpath="";
    
    // MD5 the password.. why not?
    $password_md5=md5($password);
    
    // If you set a password this is how they get verified!
    If($password) {
    	If($_POST['verify_password']==true) {
    		If(md5($_POST['check_password'])==$password_md5) {
    			setcookie("phUploader",$password_md5,time()+86400);
    			sleep(1); //seems to help some people.
    			header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
    			exit;
    			
    		}
    	}
    }
    
    // The password form, if you set a password and the user has not entered it this will show.
    $password_form="";
    If($password) {
    	If($_COOKIE['phUploader']!=$password_md5) {
    		$password_form="<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n";
    		$password_form.="<table align=\"center\" class=\"table\">\n";
    		$password_form.="<tr>\n";
    		$password_form.="<td width=\"100%\" class=\"table_header\" colspan=\"2\">Password Required</td>\n";
    		$password_form.="</tr>\n";
    		$password_form.="<tr>\n";
    		$password_form.="<td width=\"35%\" class=\"table_body\">Enter Password:</td>\n";
    		$password_form.="<td width=\"65%\" class=\"table_body\"><input type=\"password\" name=\"check_password\" /></td>\n";
    		$password_form.="</tr>\n";
    		$password_form.="<td colspan=\"2\" align=\"center\" class=\"table_body\">\n";
    		$password_form.="<input type=\"hidden\" name=\"verify_password\" value=\"true\">\n";
    		$password_form.="<input type=\"submit\" value=\" Verify Password \" />\n";
    		$password_form.="</td>\n";
    		$password_form.="</tr>\n";
    		$password_form.="</table>\n";
    		$password_form.="</form>\n";
    	}
    }
    
    // Function to get the extension a file.
    function get_ext($key) { 
    	$key=strtolower(substr(strrchr($key, "."), 1));
    	// Cause there the same right?
    	$key=str_replace("jpeg","jpg",$key);
    	return $key;
    }
    
    $ext_count=count($allow_types);
    $i=0;
    foreach($allow_types AS $extension) {
    	
    	//Gets rid of the last comma for display purpose..
    	
    	If($i <= $ext_count-2) {
    		$types .="*.".$extension.", ";
    	} Else {
    		$types .="*.".$extension;
    	}
    	$i++;
    }
    unset($i,$ext_count); // why not
    
    $error="";
    $display_message="";
    $uploaded==false;
    
    // Dont allow post if $password_form has been populated
    If($_POST['submit']==true AND !$password_form) {
    
    	For($i=0; $i <= $file_uploads-1; $i++) {
    					
    		If($_FILES['file']['name'][$i]) {
    						
    			$ext=get_ext($_FILES['file']['name'][$i]);
    			$size=$_FILES['file']['size'][$i];
    			$max_bytes=$max_file_size*1024;
    			
    			// For random names
    			If($random_name){
    				$file_name[$i]=time()+rand(0,100000).".".$ext;
    			} Else {
    				$file_name[$i]=$_FILES['file']['name'][$i];
    			}
    			
    			//Check if the file type uploaded is a valid file type. 
    						
    			If(!in_array($ext, $allow_types)) {
    							
    				$error.= "L'estensione del file caricato non è valida. I formati supportati sono: ".$types.".<br />Il tuo file<b>non</b> è stato caricato.<br />";
    							
    				//Check the size of each file
    							
    			} Elseif($size > $max_bytes) {
    				
    				$error.= "Il file <b>non</b> è stato caricato perchè è troppo grande. <br> Peso massimo: ".$max_file_size."kb.<br />";
    				
    				// Check if the file already exists on the server..
    			} Elseif(file_exists($folder.$file_name[$i])) {
    				
    				$error.= "Il file: ".$_FILES['file']['name'][$i]." esiste già nel server, rinominalo e riprova.<br />Il tuo file <b>non</b> è stato caricato.<br />";
    				
    			}
    						
    		} // If Files
    	
    	} // For
    	
    	//Tally the size of all the files uploaded, check if it's over the ammount.
    				
    	$total_size=array_sum($_FILES['file']['size']);
    	  			
    	$max_combined_bytes=$max_combined_size*1024;
    				
    	If($total_size > $max_combined_bytes) {
    		$error.="";
    	}
    		
    	
    	// If there was an error take notes here!
    	
    	If($error) {
    		
    		$display_message=$error;
    		
    	} Else {
    		
    		// No errors so lets do some uploading!
    		
    		For($i=0; $i <= $file_uploads-1; $i++) {
    				
    			If($_FILES['file']['name'][$i]) {
    				
    				If(@move_uploaded_file($_FILES['file']['tmp_name'][$i],$folder.$file_name[$i])) {
    					$uploaded=true;
    				} Else {
    					$display_message.="Couldn't copy ".$file_name[$i]." to server, please make sure ".$folder." is chmod 777 and the path is correct.\n";
    				}
    			}
    				
    		} //For
    		
    	} // Else
    	
    } // $_POST AND !$password_form
    
    /*
    //================================================================================
    * Start the form layout
    //================================================================================
    :- Please know what your doing before editing below. Sorry for the stop and start php.. people requested that I use only html for the form..
    */
    ?>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="Content-Language" content="en-us" />
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title><?php echo $websitename; ?></title>
    
    <style type="text/css">
    	body{
    		background-color:#FFFFFF;
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 12pt;
    		color: #000000;
    	}
    	
    	.error_message{
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 11pt;
    		color: #FF0000;
    	}
    	
    	.uploaded_message{
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 11pt;
    		color: #000000;
    	}
    	
    	a:link{
    		text-decoration:none;
    		color: #000000;
    	}
    	a:visited{
    		text-decoration:none;
    		color: #000000;
    	}
    	a:hover{
    		text-decoration:none;
    		color: #000000;
    	}
    	
    	
    	.table {
    		border-collapse:collapse;
    		border:1px solid #000000;
    		width:450px;
    	}
    	
    	.table_header{
    		border:1px solid #070707;
    		background-color:#C03738;
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 11pt;
    		font-weight:bold;
    		color: #FFFFFF;
    		text-align:center;
    		padding:2px;
    	}
    	
    	.upload_info{
    		border:1px solid #070707;
    		background-color:#EBEBEB;
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 8pt;
    		color: #000000;
    		padding:4px;
    	}
    	
    	
    	.table_body{
    		border:1px solid #070707;
    		background-color:#EBEBEB;
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 10pt;
    		color: #000000;
    		padding:2px;
    	}
    	
    	
    	.table_footer{
    		border:1px solid #070707;
    		background-color:#C03738;
    		text-align:center;
    		padding:2px;
    	}
    	
    	
    	input,select,textarea {
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 10pt;
    		color: #000000;
    		background-color:#AFAEAE;
    		border:1px solid #000000;
    	}
    	
    	.copyright {
    		border:0px;
    		font-family: Verdana, Arial, sans-serif;
    		font-size: 9pt;
    		color: #000000;
    		text-align:right;
    	}
    	
    	form{
    		padding:0px;
    		margin:0px;
    	}
    </style>
    
    <?
    If($password_form) {
    	
    	Echo $password_form;
    	
    } Elseif($uploaded==true) {?>
    
    <table align="center"class="table">
    
    	<tr>
    		<td class="table_header" colspan="2"><b>File caricato(i) con successo!</b> </td>
    	</tr>
    	<tr>
    	<td class="table_body">
    	<br />
    <?
    For($i=0; $i <= $file_uploads-1; $i++) {
    	
    	If($_FILES['file']['name'][$i]) {
    		$file=$i+1;
    		
    				Echo("<b>(Link diretto) ".$file.":</b> <a href=\"".$full_url.$file_name[$i]."\" target=\"_blank\">".$full_url.$file_name[$i]."</a><br /><br />\n");
    	}
    				
    }
    
    ?>
    <br />
    <a href="<?=$_SERVER['PHP_SELF'];?>">Torna indietro</a>
    <br />
    </td>
    </tr>
    </table>
    
    <?} Else {?>
    
    <?If($display_message){?>
    	<div align="center" class="error_message"><?=$display_message;?></div>
    	<br />
    <?}?>
    
    <form action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="phuploader">
    <table align="center"class="table">
    
    	<tr>
    		<td class="table_header" colspan="2"><b><?=$websitename;?></b> </td>
    	</tr>
    	<tr>
    		<td colspan="2" class="upload_info">
    			<b>Formati supportati:</b> <?=$types?><br />
    			<b>Peso massimo:</b> <?=$max_file_size?>kb.<br />
    			<b>Peso massimo combinato:</b> <?=$max_combined_size?>kb.<br />
    			<b>Utilizzo:</b> <font color="#FF0000">NON CARICARE FILE SUPERIORI AI 2MB!</font> Clicca su "Sfoglia" e scegli un file, accertandoti che abbia una delle estensioni elencate in alto, una volta scelto il file clicca su "Invia al server". Attendi il caricamento (Potrebbe impiegarci alcuni minuti se il file è di grandi dimensioni).<br />
                            <b>Versione:</b> 2.0<br />
    		</td>
    	</tr>
    	<?For($i=0;$i <= $file_uploads-1;$i++) {?>
    		<tr>
    			<td class="table_body" width="20%"><b>Seleziona file:</b> </td>
    			<td class="table_body" width="80%"><input type="file" name="file[]" size="30" /></td>
    		</tr>
    	<?}?>
    	<tr>
    		<td colspan="2" align="center" class="table_footer">
    			<input type="hidden" name="submit" value="true" />
    			<input type="submit" value=" Invia al server " /> &nbsp;
    			<input type="reset" name="reset" value=" Reset " />
    		</td>
    	</tr>
    </table>
    </form>
    Ultima modifica di junioranonimmail : 25-02-2011 alle ore 21.22.22

  2. #2
    gabriele97 non è connesso Utente
    Data registrazione
    28-12-2009
    Messaggi
    134

    Predefinito

    ma tu cosa vorresti fare?
    visualizzare una gif in una nuova pagina
    visualizzare una gif in una DIV
    visualizzare una gif al centro della pagina sopra ogni cosa?

  3. #3
    Guest

    Predefinito

    Vorrei fare in questo modo:

    Mentre viene effettuato l'Upload del file, vorrei che compaia una gif animata che dice "Caricamento in corso".

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    prova questo script semplice:
    Codice HTML:
    <style>
    BLINK { COLOR: red }
    </style>
    
    <script>
    <!--
    var ie=(document.all);
    var w3=(document.getElementById && !ie);
    
    function doBlink() {
    if(!ie && !w3) return;
    
    if (ie) blink = document.all.tags("BLINK")
    else if (w3) blink = document.getElementsByTagName("BLINK")
    else return
    
    for (var i=0; i<blink.length; i++)
    blink[i].style.visibility = blink[i].style.visibility == "" ? "hidden" : "";
    }
    
    function startBlink() {
    if (ie || w3)
    setInterval("doBlink()",1000)
    }
    //window.onload = startBlink;
    
    function cambiaTesto($elemento) {
     document.getElementById($elemento).innerHTML = '<blink>Caricamento in corso, <b>Attendere</b> per favore...</blink>';
    }
    
    function nascondi($elemento,$msg) {
        var e = document.getElementById($elemento);
            e.style.visibility = 'hidden';
            e.style.display = 'block';
        cambiaTesto($msg);
    }
    // -->
    </script>
    nel form input submit aggiungi l'id="invia", l'evento onclick e un div in questo modo:
    Codice HTML:
    <input id="invia" type="submit" value=" Invia al server " onclick="nascondi('invia','msg_invia');startBlink()" />
    
    <div id="msg_invia"></div>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Guest

    Predefinito

    Sei un mito!!! Grazie!!!!
    Ultima modifica di junioranonimmail : 28-02-2011 alle ore 00.42.37

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    figurati.....

    se vuoi far apparire un'immagine animata, togli il blink <blink></blink> e inserisci l'immagine....

    ciao

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Magari ti può essere utile, puoi creare le tue immagini semi-personalizzate:
    http://ajaxload.info/
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  8. #8
    Guest

    Predefinito

    Sapete invece dirmi come faccio a mettere anche la percentuale di caricamento? lo so, sono andato sul difficile.. ma non ci riesco proprio.. chi può aiutarmi?

  9. #9
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Ultima modifica di EuroSalute : 28-02-2011 alle ore 15.31.27 Motivo: info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  10. #10
    Guest

    Predefinito

    un ultima cosa.. come faccio per non ammettere alcuni caratteri nel nome del file caricato?? Vi spiego, allora vorrei che quando qualcuno carica un file con un carattere, tipo "@" il mio sito da errore "Il file caricato contiene caratteri non validi, rinominalo e riprova"

    Mi aiutate perfavore? sempre in base allo script che ho riportato nel primo post... grazieeeee!!!

  11. #11
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    usa http://php.net/manual/en/function.ctype-alnum.php
    facendo il controllo su
    If($_FILES['file']['name'][$i])

    e dopo questo metti un else con il messaggio di errore

    il fatto è che devi decidere una cosa, essendo un upload multiplo, cosa ne fai dei primi due caricamenti se il terzo o altri ad esempio hanno qualche carattere particolare?
    1.salvi solo quelli "ben Formati" visualizzando il loro nome e dai un messaggio di errore sempre con il loro nome per gli altri
    2.non salvi nulla e dai un messaggio di errore generale fin quando l'utente non si presenterà con tutti i nomi dei file "ben Formati"
    3.salvi tutto, modificando il carattere incriminato con un carattere casuale o modifichi con un nome a caso l'intero nome dell'immagine (non consigliato per i motori di ricerca)
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  12. #12
    Guest

    Predefinito

    Non è che potresti modificarmi il mio codice??
    ti ringrazio ^^

  13. #13
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Qui ho fatto un esempio di come potresti fare, utilizzando substr_count() :

    Codice PHP:

    <?

    $error
    ="";
    $display_message="";
    $uploaded==false;

    // Dont allow post if $password_form has been populated
    If($_POST['submit']==true AND !$password_form) {

    For(
    $i=0; $i <= $file_uploads-1; $i++) {

    //new on 01/03/2011
    $void=0;
    //end

    If($_FILES['file']['name'][$i]) {

    $ext=get_ext($_FILES['file']['name'][$i]);
    $size=$_FILES['file']['size'][$i];
    $max_bytes=$max_file_size*1024;

    // For random names
    If($random_name){
    $file_name[$i]=time()+rand(0,100000).".".$ext;
    } Else {
    $file_name[$i]=$_FILES['file']['name'][$i];
    }

    //new on 01/03/2011 controllo simboli non ammessi nel nome:
    $void += substr_count($file_name[$i],"http");
    $void += substr_count($file_name[$i],".com");
    $void += substr_count($file_name[$i],"@");
    // e così via
    //end new

    //Check if the file type uploaded is a valid file type.

    If(!in_array($ext, $allow_types)) {

    $error.= "L'estensione del file caricato non è valida. I formati supportati sono: ".$types.".<br />Il tuo file<b>non</b> è stato caricato.<br />";

    //Check the size of each file

    } Elseif($size > $max_bytes) {

    $error.= "Il file <b>non</b> è stato caricato perchè è troppo grande. <br> Peso massimo: ".$max_file_size."kb.<br />";

    // Check if the file already exists on the server..
    } Elseif(file_exists($folder.$file_name[$i])) {

    $error.= "Il file: ".$_FILES['file']['name'][$i]." esiste già nel server, rinominalo e riprova.<br />Il tuo file <b>non</b> è stato caricato.<br />";

    }

    }
    // If Files

    //new on 01/03/2011
    if ($void>0) $error.= "Il file caricato contiene caratteri non validi, rinominalo e riprova";
    //end

    } // For


    ?>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  14. #14
    Guest

    Predefinito

    ho provato.. ma li fa caricare comunque.. :(

  15. #15
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    hai inserito questa linea di codice?..:

    Codice PHP:
    //new on 01/03/2011
    if ($void>0) $error.= "Il file caricato contiene caratteri non validi, rinominalo e riprova";
    //end
    prova dopo il loop }//for , a stampare $error:

    Codice PHP:
    } // If Files

    //new on 01/03/2011
    if ($void>0) $error.= "Il file caricato contiene caratteri non validi, rinominalo e riprova";
    //end

    } // For

    echo "<p>".$error;
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  16. #16
    Guest

    Predefinito

    funzionaaaa grazie mille!!!! :)

    Come faccio invece a richiamare nel messaggio di errore il carattere che non è stato ammesso?
    Ultima modifica di junioranonimmail : 01-03-2011 alle ore 22.47.40

  17. #17
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    in questo caso, converebbe fare un array di tutti i simboli o caratteri o parole non ammessi, poi li controlli con un foreach se sono presenti nel nome del file ed li inserisci nel messaggio di errore....
    prova a farlo tu .....devo andare ora ....

    ciao


    Codice PHP:

    <?

    $error
    ="";
    $display_message="";
    $uploaded==false;

    $array_esclusi=array('@','<','>','/','*');//e così via


    // Dont allow post if $password_form has been populated
    If($_POST['submit']==true AND !$password_form) {

    For(
    $i=0; $i <= $file_uploads-1; $i++) {

    $somma_esclusi="";

    If(
    $_FILES['file']['name'][$i]) {

    $ext=get_ext($_FILES['file']['name'][$i]);
    $size=$_FILES['file']['size'][$i];
    $max_bytes=$max_file_size*1024;

    // For random names
    If($random_name){
    $file_name[$i]=time()+rand(0,100000).".".$ext;
    } Else {
    $file_name[$i]=$_FILES['file']['name'][$i];

    foreach (
    $array_esclusi as $esclusi){
    // For case-insensitive searches, use stristr()

    if (strstr($file_name[$i],$esclusi)) {
    $somma_esclusi=$somma_esclusi.$esclusi;
    //$error.="Il file caricato contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";
    }

    }
    //end foreach

    }


    //Check if the file type uploaded is a valid file type.

    If(!in_array($ext, $allow_types)) {

    $error.= "L'estensione del file caricato non è valida. I formati supportati sono: ".$types.".<br />Il tuo file<b>non</b> è stato caricato.<br />";

    //Check the size of each file

    } Elseif($size > $max_bytes) {

    $error.= "Il file <b>non</b> è stato caricato perchè è troppo grande. <br> Peso massimo: ".$max_file_size."kb.<br />";

    // Check if the file already exists on the server..
    } Elseif(file_exists($folder.$file_name[$i])) {

    $error.= "Il file: ".$_FILES['file']['name'][$i]." esiste già nel server, rinominalo e riprova.<br />Il tuo file <b>non</b> è stato caricato.<br />";

    }

    }
    // If Files

    if ($somma_esclusi) $error.="Il file: ".$_FILES['file']['name'][$i]." contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";

    }
    // For


    ?>
    potresti anche fare una regex del tipo ammessi a-z A-Z 0-9 e alcuni simboli come _ -, lunga min 4 max 8, esempio funzione ritorna false o true :

    Codice PHP:
    function Verify_File_Name($file_name) {
    $regex = '/^[a-zA-Z0-9_-]{4,8}$/';
    return
    preg_match($regex, $file_name);
    }
    Ultima modifica di EuroSalute : 02-03-2011 alle ore 23.19.50 Motivo: più info...
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  18. #18
    Guest

    Predefinito

    non funziona...

    Ho fatto così comunque.. sempre meglio di niente..
    Il file caricato ".$_FILES['file']['name'][$i]." contiene ".$void." carattere(i) non valido(i), rinominalo e riprova.
    Ultima modifica di junioranonimmail : 03-03-2011 alle ore 17.47.33

  19. #19
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    devi riferirti al codice che ho postato per ultimo, $void è numerico e si riferisce al codice precedentemente postato...

    il codice da utilizzare è il seguente(guarda tutto il codice):
    Codice PHP:
    <?

    $error
    ="";
    $display_message="";
    $uploaded==false;

    //devi aggiungere questo:
    $array_esclusi=array('@','<','>','/','*','"',':');//e così via
    //end

    // Dont allow post if $password_form has been populated
    If($_POST['submit']==true AND !$password_form) {

    For(
    $i=0; $i <= $file_uploads-1; $i++) {

    //devi aggiungere questo:
    $somma_esclusi="";
    //end

    If($_FILES['file']['name'][$i]) {

    $ext=get_ext($_FILES['file']['name'][$i]);
    $size=$_FILES['file']['size'][$i];
    $max_bytes=$max_file_size*1024;

    // For random names
    If($random_name){
    $file_name[$i]=time()+rand(0,100000).".".$ext;
    } Else {
    $file_name[$i]=$_FILES['file']['name'][$i];

    //devi aggiungere questo:
    foreach ($array_esclusi as $esclusi){
    // For case-insensitive searches, use stristr()

    //se non funziona con strstr()[cosa impossibile!], prova ad usare :
    //substr_count($file_name[$i],$esclusi);

    if (strstr($file_name[$i],$esclusi)) {
    $somma_esclusi=$somma_esclusi.$esclusi;
    //$error.="Il file caricato contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";
    }

    }
    //end foreach
    //end

    }


    //Check if the file type uploaded is a valid file type.

    If(!in_array($ext, $allow_types)) {

    $error.= "L'estensione del file caricato non è valida. I formati supportati sono: ".$types.".<br />Il tuo file<b>non</b> è stato caricato.<br />";

    //Check the size of each file

    } Elseif($size > $max_bytes) {

    $error.= "Il file <b>non</b> è stato caricato perchè è troppo grande. <br> Peso massimo: ".$max_file_size."kb.<br />";

    // Check if the file already exists on the server..
    } Elseif(file_exists($folder.$file_name[$i])) {

    $error.= "Il file: ".$_FILES['file']['name'][$i]." esiste già nel server, rinominalo e riprova.<br />Il tuo file <b>non</b> è stato caricato.<br />";

    }

    }
    // If Files

    //devi aggiungere questo:
    if (!empty($somma_esclusi)) $error.="Il file: ".$_FILES['file']['name'][$i]." contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";
    //end

    } // For


    ?>
    Ultima modifica di EuroSalute : 03-03-2011 alle ore 19.21.44 Motivo: info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  20. #20
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Citazione Originalmente inviato da EuroSalute Visualizza messaggio
    in questo caso, converebbe fare un array di tutti i simboli o caratteri o parole non ammessi, poi li controlli con un foreach se sono presenti nel nome del file ed li inserisci nel messaggio di errore....
    prova a farlo tu .....devo andare ora ....

    ciao


    Codice PHP:

    <?

    $error
    ="";
    $display_message="";
    $uploaded==false;

    $array_esclusi=array('@','<','>','/','*');//e così via


    // Dont allow post if $password_form has been populated
    If($_POST['submit']==true AND !$password_form) {

    For(
    $i=0; $i <= $file_uploads-1; $i++) {

    $somma_esclusi="";

    If(
    $_FILES['file']['name'][$i]) {

    $ext=get_ext($_FILES['file']['name'][$i]);
    $size=$_FILES['file']['size'][$i];
    $max_bytes=$max_file_size*1024;

    // For random names
    If($random_name){
    $file_name[$i]=time()+rand(0,100000).".".$ext;
    } Else {
    $file_name[$i]=$_FILES['file']['name'][$i];

    foreach (
    $array_esclusi as $esclusi){
    // For case-insensitive searches, use stristr()

    if (strstr($file_name[$i],$esclusi)) {
    $somma_esclusi=$somma_esclusi.$esclusi;
    //$error.="Il file caricato contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";
    }

    }
    //end foreach

    }


    //Check if the file type uploaded is a valid file type.

    If(!in_array($ext, $allow_types)) {

    $error.= "L'estensione del file caricato non è valida. I formati supportati sono: ".$types.".<br />Il tuo file<b>non</b> è stato caricato.<br />";

    //Check the size of each file

    } Elseif($size > $max_bytes) {

    $error.= "Il file <b>non</b> è stato caricato perchè è troppo grande. <br> Peso massimo: ".$max_file_size."kb.<br />";

    // Check if the file already exists on the server..
    } Elseif(file_exists($folder.$file_name[$i])) {

    $error.= "Il file: ".$_FILES['file']['name'][$i]." esiste già nel server, rinominalo e riprova.<br />Il tuo file <b>non</b> è stato caricato.<br />";

    }

    }
    // If Files

    if ($somma_esclusi) $error.="Il file: ".$_FILES['file']['name'][$i]." contiene questi caratteri non validi '".$somma_esclusi."', rinominalo e riprova.<br />";

    }
    // For


    ?>
    potresti anche fare una regex del tipo ammessi a-z A-Z 0-9 e alcuni simboli come _ . -, lunga min 4 max 8, esempio funzione ritorna false o true :

    Codice PHP:
    function Verify_File_Name($file_name) {
    $regex = '/^[a-zA-Z0-9_.-]{4,8}$/';
    return
    preg_match($regex, $file_name);
    }
    ciao......
    Ultima modifica di EuroSalute : 03-03-2011 alle ore 19.25.34 Motivo: info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  21. #21
    Guest

    Predefinito

    L'approccio a mio parere è sbagliato.

    L'utente-medio ha i file presenti sul proprio pc con nomi di vario tipo e vincolare il nome dei file è una scocciatura eccessiva.

    A questo punto si possono seguire due strade:
    - eseguire il replace dei caratteri non validi preservando l'estensione;
    - rinominare il file con una stringa casuale di cui si è certi che nn contenga caratteri non validi.

    Nel primo caso un modo tipico di operare è:
    Codice PHP:
    <?php
    $new_name
    = preg_replace(
    array(
    "/\s+/", "/[^-\.\w]+/"),
    array(
    "_", ""),
    trim($_FILES['upload']['name']));
    ?>
    Nel secondo caso vi sono varie soluzioni ma ha come "problema" quello della conservazione dell'estensione del file:
    Codice PHP:
    function catch_extensione($filename)
    {
    $filename = (string)$filename;
    $array_nome = explode('.', $filename);
    $ext = strtolower(end($array_nome));
    return
    $ext;
    }

    $estensione = catch_extensione($_FILES['upload']['name']);
    $new_name = time() . $estensione;
    Ovviamente i due suggerimenti che ti sono stati dati possono essere combinati fra di loro.

    Inoltre ti ricordo che se viene uppato uno stesso file con lo stesso nome per la seconda volta (di default) il secondo sostituisce il precedente. Il metodo che ti ho suggerito con time() ti risolve anche tale potenziale problematica.

  22. #22
    Guest

    Predefinito

    Uso lo stesso script (non so se la versione sia la stesa).
    Per precisione, è questo: http://www.phphq.net/scripts.php?scr...der#phUploader
    Mi servirebbe che dopo uppato il file NON ricarichi la pagina, ma mostri il risultato in ajax.
    Questo perchè includo (tramite php e include) lo script nella pagina "nuovo topic" del forum.
    Attualmente dopo uppato ricarica tutta la pagina, e mi da errore (usando lo script puro invece è tutto ok).
    Come fare quindi in modo che tutto lo script funzioni in ajax?
    Lo script sul mio sito è qui:
    http://www.next-console.it/upload/

  23. #23
    Guest

    Predefinito

    Salve, mi permettete una riflessione OT?

    Richieste come queste mi fanno passare la voglia di frequentare i forum.
    Io questa richiesta la leggo così:

    Non so neppure cosa sia un linguaggio di scripting/programmazione ma voglio realizzare per il mio sito una cosa fichissima. Naturalmente non so neppure da dove cominciare e allora?

    Cercare informazioni su quello che serve?
    Studiarmi un po' di teoria?

    No! Troppo complicato. E poi ci vorrebbe troppo tempo. Io voglio finire entro mezzogiorno, o al massimo stasera!

    Chiedo su un forum, ma a chiedere "Qualcuno mi realizza sta cosa?" mi vergogno e allora?

    Allora prima chiedo una prima parte, poi un'altra, poi un'altra ancora, poi mi scappa anche una richiesta "qualcuno mi sistema il tutto?"...

    E alla fine?

    Alla fine non ho imparato nulla, ho il mio bel servizio che magari per oggi funziona, ma alla prima necessità, magari solo per cambiare un tema non so più da dove iniziare e di nuovo a chiedere se qualcuno mi sistema il mio script...

    Scusatemi ancora lo sfogo, ma non credo che così una comunità possa crescere

    N.

  24. #24
    Guest

    Predefinito

    Non può essere che qualcuno abbia realizzato un forum con un CMS (vbulletin), che conosca l'HTML e i CSS, e che piano piano stia imparando i vari linguaggi (ora sto studiando le basi di PHP), ma che per motivi di urgenza faccia richieste di questo tipo?

    Credo che neppure quelle critiche servano a far crescere una community, magari un utente che ha il mio stesso bisogno, legge la discussione, e trova questi commenti assoltuametne Off Topic, mi spieghi il senso?
    Se hai da dirmi qualcosa del genere, magari fallo per PM, e oltretutto se non conosci le situazioni specifiche, evita queste uscite.

    Chiudo l'OT (almeno da parte mia).

  25. #25
    Guest

    Predefinito

    Un utente che ha bisogno per un problema uguale al tuo ci sarà sempre.
    Appunto per questo la pappa pronta non serve ne a te ne ad altri.

    Ti ho detto queste cose in pubblico proprio perchè è una cosa che riguarda tutti e non già te solo.
    Se dovevo "rimproverati" di qualcosa lo avrei senz'altro fatto in privato. Ma non mi pare questo il caso.
    Non mi pare ti averti rimproverato, ti ho solo fatto notare che se chiedi che altri facciano il tuo lavoro, tu non imparerai nulla (e la fretta in questo non aiuta), e la comunità non avrà nulla in più. Quello che è stato fatto va bene per te e per nessun altro, poichè se è vero come ti dicevo prima che un altro utente possa avere un problema simile al tuo, stai tranquillo che nessuno avrà il tuo stesso problema, con la tua stessa configurazione, e nelle stesse condizione in cui ti si presenta.

    Una soluzione che ti si dia pronta all'uso per il tuo specifico problema alla comunità non serve.

    Se non sai guidare, prima vai a lezione, poi fai gli esami e poi guidi. Non puoi comprare l'automobile e poi se un vigile urbano ti chiede la patente tu rispondi "veda, siccome ho una certa urgenza la patente non ce l'ho. Ma la sto prendendo sa? Mi sono iscritto alla scuola guida".

    Ecco, questo era il senso del mio intervento.
    Nessuna voglia di polemica.

  26. #26
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Condivido lo "sfogo" di simpleticket, visto anche in altri post. Quando la domanda è veramente semplice, a volte "cedo" e do la "pappa pronta", per evitare eventuali discussioni... (non mi sto assolutamente riferendo a nextconsoleforum).

    Comunque, ritornando in topic, sappi che la pagina da te postata per noi è "inutle":

    Codice HTML:
    <b>Non</b> hai il permesso di usare il nostro Uploader.<br/><a href='http://www.next-console.it'><b>Torna alla nostra Home.</b></a>
    Quindi, puoi indicarci la parte che hai modificato che ha compromesso lo script?

    Ciao!

    dimenticavo: continuate (se volete) via MP, grazie.
    Ultima modifica di alemoppo : 26-08-2011 alle ore 13.01.29

  27. #27
    Guest

    Predefinito

    http://www.next-console.it/upload/
    Avevo disabilitato io lo script momentaneamente.
    Ora è accessibile.
    Potrei avere la pappa pronta, dato che qui non c'è nessun vigile che mi chiede il titolo di studio informatico?

    Chiudendo l'OT, apprezzo le critiche, anche se negative, anche se a volte parlare "da fuori" è più facile.

  28. #28
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Ho guardato lo script. Ma non usa ajax!.
    Perché non cerchi direttamente uno script in ajax? Cercando "ajax upload" su google, si trovano numerosi script già fatti....

    Ciao!

  29. #29
    Guest

    Predefinito

    Ne ho cercati a migliaia, ma sono tutti con grafiche "complesse".
    Me ne serve uno scemplice, che permetta di selezionare l'immagine, un tasto "upload", e poi restituire il link...

  30. #30
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Scrivendo "ajax upload", come primo risultato, appare questo. Si tratta soltanto di un pulsante...

    Ciao!

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •