Gif agli eventi di php Upload

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Salve ragazzi qualche giorno fa "grazie all'aiuto del mitico Borgo"
sono riuscito ad ottenere uno script valido per Upload di un immagine ora però devo associare
agli aventi di php una gif che ruota per mostrare il caricamento dell'immagine
ma non so se e come fare a dire a php per esempio:
<div class="preloader">href src http://wwww.sito.com/pathGig.gif</div>
per mostrare e poi fare sparire la gif a caricamento avvenuto è possibile?
Ho evidenziato nello script gli eventi ed è li che dovrei mostrare nell'interfaccia il preloader.

PHP:
<?php 
   
if(isset($_POST['invia'])){
  
	$Allert="";
	$percorso = '../Images/thumb/';
    $nome_file=basename( $_FILES['Filedata']['name'] );
    //qui necessita un controllo
    if($nome_file !=""){
        $uploadfile = $percorso.$nome_file;
        $sposta=move_uploaded_file( $_FILES['Filedata']['tmp_name'] ,$uploadfile );
        $thumbComp = 100;
        list($width, $height, $type, $attr) = getimagesize($uploadfile);
        $max_w=130;
        $max_h=130;
        $ratio = @min($max_w/$width,$max_h/$height);
	$Allert="ATTENEDERE CARICAMENTO FILE";
        header("Location:http://www.sito.com/prova.php");
        if ($ratio < 1){
            $w = @floor($ratio*$width);
            $h = @floor($ratio*$height);
            $thumb = imagecreatetruecolor($w,$h);
            $source = imagecreatefromjpeg($uploadfile);
            imagecopyresized($thumb, $source, 0, 0, 0, 0,$w,$h,$width,$height);
            $dir=$percorso."1.jpg";
            imagejpeg($thumb,$dir,$thumbComp)or die("Impossibile salvare la miniatura");
            unlink($uploadfile);
			
		}else{
            $Allert="CARICAMENTO FILE COMPLETATO!";
            $renome = $percorso."1.jpg";
            //cancello le vacchia 1.jpg
            unlink($renome);
            //e carico la nuova
            $sposta=rename( $uploadfile ,$renome);
			header("Location:http://www.sito.com/prova.php");
        }
    }else{
        $Allert="ATTENZIONE: NON E' STATO CARICATO NESSUN FILE JPG";
		
    }
 }
?>
 
Per farla decente bisognerebbe utilizzare l'asincrono e quindi Ajax ma io non lo conosco proprio Ajax e quindi nisba. :(
Csa ne dite ragazzi se inserissi una gif al submit del form con javascript?
quando si clicca appare la gif quando php attraverso l'header fa la redirect
allora il preloader sembrerà sparire e quindi il segnale che l'immagine è stata caricata dovrebbe esserci.
Certo un bel accroccone ma dovrebbe funzionare voi cosa ne pensate?
 
ciao,

la mia è solo un idea che fa uso di javascript da provare

PHP:
<script type="text/javascript">
    function loading(mostra) {
        if(mostra==1) {
            document.getElementById('preloader').innerHTML = '<img src="/pathGig.gif" alt="loading"/>';
        }else{
            document.getElementById('preloader').innerHTML = "";
        }
    }
</script>
<div id="preloader"></div>
<form method="post">
    <input onclick="loading(1)" type="submit" name="invia" value="Invia"/>
</form>

<?php
if (isset($_POST['invia'])) {
// qui andra lo script io metto sleep() per simulare il tempo di esecuzione
    sleep(5);
    ?>    
    <script type="text/javascript">
        loading(0);
    </script>
    <?php
}
?>

EDIT: ho modificatgo la posizione del form 18:40
 
Ultima modifica:
Grazie mille criric, si funziona :) io ne avevo creato uno molto piu' semplice che diceva semplicemente che stava caricando l'immagine il tuo mostra la gif e volendo posso associarvi anche un messaggio testuale grazie :)
 
Ciao Borgo, si questo forum è pieno di persone veramente ma veramente competenti!.
Ma sopratutto anche veramente ma veramente generose! :)
Grazie ancora ragazzi.
 

Discussioni simili