Caricare file immagine con ajax

spacca!  0 scarso!  0 versione stampa invia per email scheda utente totale visite  374
Inviamo i dati di un form, compresa un immagine, con una chiamata ajax ad una pagina php che elaborerà i dati ricevuti e mostrerà il risultato.
la pagina chiamante con il form
<html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script>
            $(document).ready(function () {
                $('form').submit(function (e) {
                    $("#info").html("caricamento in corso..");
                    e.preventDefault();
                    $.ajax({
                        type: 'post',
                        url: 'esempio.php',
                        data: new FormData(this),
                        dataType: 'text',
                        contentType: false,
                        processData: false,
                        success: function (data) {
                            $("#info").html(data);
                        },
                        error: function (xhr, textStatus, errorThrown) {
                            $("#info").html(xhr.status + ': ' + errorThrown);
                        }
                    })
                });
            });
        </script>
    </head>
</html>

<form action="#" method="post" enctype="multipart/form-data">
    Title : <input type="text" name="title" />
    <input type="hidden" name="idUtente" value="">
    Immagine :
    <input type="file" name="fileToUpload">
    <input type="submit" value="Salva" name="submit"/>
</form>
<div id="info"></div>
la pagina chiamata esempio.php
<?php

$extensions = array("jpg", "png", "jpeg", "gif");
$path = "img/" . basename($_FILES["fileToUpload"]["name"]);

if (file_exists($path)) {
    die("Il file " . basename($_FILES["fileToUpload"]["name"]) . " è già presente.");
}

if (!in_array(pathinfo($path, PATHINFO_EXTENSION), $extensions)) {
    die("Estensione non consentita.");
}

if (getimagesize($_FILES["fileToUpload"]["tmp_name"]) === false) {
    die("Il file caricato non è un immagine valida.");
}
if ($_FILES["fileToUpload"]["size"] > 5500000) {
    die("Il file caricato è troppo grosso.");
}

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $path)) {
    echo "Il file " . $_REQUEST['title'] . " è stato caricato con successo.";
} else {
    echo "Errore nel caricamento del file.";
}
 
 

Inserisci un commento

non sei loggato

CAPTCHA