Bonjour,
j'ai un script d'upload simple qui fonctionne en ajax.
Le problème est à l'affichage.
Quand une image de 1024 x 800, l'affichage se fait de haut en bas, c'est assez moche
J'ai essayé de mettre un fadeIn à l'image mais ça ne fonctionne pas, je pense, à cause du script ajaxForm.js.
Voici le lien du script ajaxForm :
http://www.web-astronomie.fr/js/jquery.form.js
Mon formulaire :
<form action="<?php echo $wa_urlHome; ?>/upload.php" method="post" id="formUpload" enctype="multipart/form-data">
<input type="file" name="filename" class="hidden" id="filename" />
<a href="#" onclick="$('#filename').click();return false;" rel="tooltip" data-original-title="Ajouter une photo" data-placement="top" id="wa1_0"></a>
</form>
Voici mon script js :
[javascript]
$('#filename').live('change', function(){
$("#preview").show();
$("#preview").html('<div class="progressUpload"><div class="progressBar"></div></div>');
timer(0);
$('#formUpload').ajaxForm({
target: '#preview',
success: afterSuccess
}).submit();
});
[/javascript]
Ainsi que le fichier php :
require('../include/config.inc.php');
$valid_exts = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
$max_size = 2000 * 2000; // max file size
$path = 'uploads/'; // upload directory
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if( ! empty($_FILES['filename']) ) {
// get uploaded file extension
$ext = strtolower(pathinfo($_FILES['filename']['name'], PATHINFO_EXTENSION));
// looking for format and size validity
if (in_array($ext, $valid_exts) AND $_FILES['filename']['size'] < $max_size) {
$path = $path . uniqid(). '.' .$ext;
// move uploaded file from temp to uploads directory
if (move_uploaded_file($_FILES['filename']['tmp_name'], $path)) {
echo "<img src='http://home.web-astronomie.fr/$path' height='100' class='hidden' width='130' alt='' />";
}
} else {
echo '<span class="errorUpload">Invalid file!</span>';
}
} else {
echo '<span class="errorUpload">File not uploaded!</span>';
}
} else {
echo '<span class="errorUpload">Bad request!</span>';
}
Merci d'avance pour vos réponses