J'ai créé un formulaire avec une barre de progression de téléchargement de fichier. J'utilise ajaxForm pour définir les actions pré/post. Une fois le processus de téléchargement terminé, je souhaite générer une nouvelle page Web et envoyer un courrier électronique en appelant "sendEmail.php". Le problème est que je peux voir le fichier de progression atteindre 100% mais rien ne se passe après cela. Il est collé sur 100% J'ai 2 question:ajaxForm - "uploadProgress" affiche la progression même si php pour télécharger le fichier n'existe pas
- quand je testais cela, je remarqué que l'action - « upload.php » était absent et pourtant je vis une barre de progression qui a été proportionnellement aux comporte fichiers Taille. pourquoi est-ce? Qu'est-ce qui était en train de télécharger le fichier? Lorsque j'ai ajouté le fichier UPLOAD.php, il ne fonctionnait toujours pas.
Ma forme ligne de création ressemble à ceci:
<form id="formmail" class="form-horizontal col-xs-6 col-sm-6 col-md-4 col-sm-offset-1" name="formmail" method="POST" action="**UPLOAD.php**" enctype="multipart/form-data">
Mon script pour générer la barre de progression:
var progress
$(document).ready(function() {
$("#submit").click(function(){
$("#formmail").ajaxForm({
type: "POST",
url: "sendEmail.php",
beforeSend: function() {
$("#progressBar").removeClass("hidden");
progress = "0%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
uploadProgress: function (event, position, total, percentComplete) {
progress = percentComplete + "%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
success: function (data){
alert("It's OK!");
},
}).submit();
});
});
Le PHP pour télécharger le fichier, dans ce cas seulement télécharger. Je vais déplacer le fichier une fois qu'il fonctionne.
<?php
if(isset($_POST) && !empty($_FILES['fileatt']['name'])){
$tmp = $_FILES['fileatt']['tmp_name'];
echo "echo something";
?>
Lorsque vous ne définissez pas l'action pour un formulaire, la valeur par défaut est la page Web en cours. Le fichier est téléchargé si cette page peut le gérer ou non, ce qui explique pourquoi vous avez vu la progression en fonction de la taille du fichier. Quel est le résultat de 'print_r()' pour $ _FILES'? Pour le voir, vous devrez peut-être 'fichier_put_contents' les données (n'oubliez pas de mettre le deuxième argument de' print_r() 'à' true' sinon les données ne seront pas sauvegardées dans le fichier.) – JBH
merci, je suis nouveau à cela - pourriez-vous être plus précis s'il vous plaît, peut-être un petit exemple? –