Animation gif pendant l'hébergement d'un fichier [Résolu/Fermé]

Signaler
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015
-
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015
-
Bonjour,

J'essaye d'ajouter sur mon script d'hébergement de fichiers, une animation .gif pendant l'hébergement du fichier, j'ai regarder la plupart des sujets sur google mais rien ne fonctionne.

Une partie de l'index.php:

<script type="text/javascript">

function verif()
{
if (document.getElementById('case').checked)
{return true;}
else
{
alert ("Merci d'accepter les Conditions Générales d'Utilisation");
return false;
}
}

</script>

<form name="upload" enctype="multipart/form-data" method="post" action="upload.php" onsubmit="return verif()">
<input type="file" class="text" name="file" style="margin-top:0.8em; margin-left:1.5px; width:26em;"><br />
<input type="submit" onclick="bt = 1;" onClick="loadinc();" class="button" value="Heberger" style="margin-top:0.8em;" />
<input type="checkbox" name="case" id="case"/> J'accepte les <a href="#cgu" class="jumplink">CGU</a>

</form>

Voilà si vous avez une idée de comment je pourrai intégrer l'animation .gif je suis preneur !

Merci d'avance.

6 réponses


Salut je vais répondre sans être sur de moi, peut être que je devrais pas...

il me semble que en php, une fois un fichier uploader la page se rafraîchie.

Tu pourrais mettre ton gif en display: none; et si la case CGU est bien coché et que toutes les conditions remplient ton gif passe en display: block;...il apparaîtra jusqu'à que la page se rafraîchisse.
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

D'accord, pourrais-tu m'aider à mettre ceci en place ? car je suppose qu'il faut modifier la fonction verif JavaScript ?
Voilà qui semble fonctionner chez moi je met les fichiers dans un dossier uploads
si le fichier est lourd on a le temps de voir le gif sinon c'est trop rapide, mais ca fonctionne chez moi :

<!DOCTYPE html>
<html>
<head>
<title>ccm</title>
<meta charset="UTF-8" />

</head>
<body >
<div id="content">

<form action="index.php" method="post" enctype="multipart/form-data" id="fo1">

<input type="file" name="monfichier" />
<input type="checkbox" id="check" name="check" />
<label>CGU</label>
<br />
<br />
<input type="submit" id="sub" />

</form>
<img src="gif.gif" alt="" id="gif" style="display: none" />
<?php
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0 && isset($_POST['check'])) {
if ($_FILES['monfichier']['size'] <= 1000000000) {
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'avi');
if (in_array($extension_upload, $extensions_autorisees)) {

move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>
</div>
<script type="text/javascript">
var gif = document.getElementById("gif");
var sub = document.getElementById("sub");
var check = document.getElementById("check");
sub.onclick = function() {
if (check.checked) {
gif.style.display = "block";
}
else{
alert("vous devez accepter");}
}
</script>

</body>
</html>



׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

Bonjour,

Alors, tout fonctionne, mais j'ai l'impression qu'il y a un souci au niveau de la checkbox:

Quand on ne coche pas on a le message du navigateur qui nous demande "vous devez accepter", mais quand on fait ok ou qu'on ferme cette fenêtre, c'est comme si la personne avait accepter car la page upload le fichier, alors que ça se trouve la personne ne souhaite pas accepter.

Alors qu'avec mon ancienne checkbox après avoir fait ok sur le message du navigateur il fallait cocher la case, sans ça on ne pouvait uploader de fichiers.

Mon ancienne checkbox:

<script type="text/javascript">
document.getElementById("tete").src = 'ajaxloader1.gif'
function verif()
{
if (document.getElementById('case').checked)
{return true;}
else
{
alert ("Merci d'accepter les Conditions Générales d'Utilisation");
return false;
}
}

</script>

<input type="checkbox" name="case" id="case"/>

Donc si tu as le solution pour modifier la validation de ta checkbox, ça serait nickel !

Je te remercie d'avance !
salut, dans ta partie php tu as bien rajouté : isset($_POST['check']) ???


ou dans ton cas : isset($_POST['case'])
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

La partie upload est dans un fichier .php, voici une partie du code de mon fichier:

if(!empty($_FILES["file"]["name"])){

// Nom du fichier:
$nomFichier = $_FILES["file"]["name"] ;
// Nom temporaire:
$nomTemporaire = $_FILES["file"]["tmp_name"] ;
// Type du fichier:
$typeFichier = $_FILES["file"]["type"] ;
// Poids en octets:
$poidsFichier = $_FILES["file"]["size"] ;
// Poids en Kilo-octets:
$poidsFichierK = $poidsFichier/1024;
$poidsFichierK = sprintf("%.0f", $poidsFichierK) ;
$codeErreur = $_FILES["file"]["error"] ;
$extension = strrchr($nomFichier, ".");


if($poidsFichier <> 0){
// Si la taille du fichier est supérieure
// maximum spécifiée message d'erreur
if($poidsFichier < $MAX_SIZE){
// test si le fichier a une extension autorisée
if(isExtAuthorized($extension)){

J'ai essayer de rajouter ce que tu m'a dit mais rien à faire, ça me fait une erreur sur le site, peut-être ai-je mal rajouté ce que tu m'a dit ?
alors je n'ai pas testé mais tu obtiens une erreur si tu met :

if(!empty($_FILES["file"]["name"]) && isset($_POST['case']) ){

si oui je regarderai de plus pret
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

non pas d'erreur mais toujours la même chose quand on ferme la fenetre ou clique sur ok ça charge quand même le fichier sans qu'on est cocher.

J'ai essayer ça:
if(!empty($_FILES["file"]["name"]) && isset($_POST['check']) ){


vu que j'ai mis la fonction que tu m'a donné:

<script type="text/javascript">
var gif = document.getElementById("gif");
var sub = document.getElementById("sub");
var check = document.getElementById("check");
sub.onclick = function() {
if (check.checked) {
gif.style.display = "block";
}
else{
alert("vous devez accepter");}
}
</script>

Mais toujours le même bug, mais pas d'erreur php.

Merci d'avance !
voilà j'ai adapté a ton code

<form action="index.php" method="post" enctype="multipart/form-data" id="fo1" onsubmit="return verif()">

<input type="file" name="monfichier" />
<input type="checkbox" id="check" name="check" />
<label>CGU</label>
<br />
<br />
<input type="submit" id="sub" />

</form>
<img src="gif.gif" alt="" id="gif" style="display: none" />
<?php
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0 && isset($_POST['check'])) {
if ($_FILES['monfichier']['size'] <= 1000000000) {
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png', 'avi');
if (in_array($extension_upload, $extensions_autorisees)) {

move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
?>
</div>
<script type="text/javascript">
var gif = document.getElementById("gif");
var sub = document.getElementById("sub");
var check = document.getElementById("check");
function verif() {
if (check.checked) {
gif.style.display = "block";
return true;
}
else{
alert("vous devez accepter");
return false;}
}
</script>


׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

Alors, ça m'a l'air bon mais je n'ai rien changer dans mon fichier d'upload php, j'ai juste modifier la partie script dans mon fichier index:

celui que tu viens de me donner à la place de celui que tu m'avais donner au début:
<script type="text/javascript">
var gif = document.getElementById("gif");
var sub = document.getElementById("sub");
var check = document.getElementById("check");
function verif() {
if (check.checked) {
gif.style.display = "block";
return true;
}
else{
alert("vous devez accepter");
return false;}
}
</script>

Et ça m'a tout l'air de fonctionner et je n'ai rien eu a changer comme tu l'avais mis dans mon fichier upload php.

Par contre peut-on rajouter en plus de l'image gif, du texte pendant l'hébergement ?

Merci d'avance, et encore merci pour tout ce que tu as fait !
salut, pour le texte il suffit de mettre une balise <p id="text"></p>

et dans le js :

<script type="text/javascript">
var gif = document.getElementById("gif");
var sub = document.getElementById("sub");
var check = document.getElementById("check");
var text = document.getElementById("text");
function verif() {
if (check.checked) {
gif.style.display = "block";
text.innerHTML = "patientez";
return true;
}
else{
alert("vous devez accepter");
return false;}
}
</script>
--
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Messages postés
72
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
21 octobre 2015

Et bien ça fonctionne nickel, je te remercie beaucoup pour ton aide !