Bonjour,
J'arrive toujours à trouver les réponses à mes questions grâce à google et bien souvent sur developpez.net.
Malheureusement, cette fois ci, je ne comprends pas se qu'il se passe. Il doit surement me manquer un petit truc pour comprendre. J'espère donc que vous pourrez m'aider.
Je souhaite uploader des fichiers pour ce faire je me suis inspiré d'un code nommé ajaxupload.
Bon mon problème c'est que je n'arrive pas à appeler la fonction detection dans la fonction stopUpload.
Si stopUpload n'est pas dans le $(document).ready(function() c'est parsque si non je n'arrive pas à l'appeler depuis upload.php avec window.top.window (cf un peut plus bas).
Ceci est mon formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <script type="text/javascript"> function stopUpload(success){ alert(success); detection(para1,para2,para3); }; $(document).ready(function() { $("#formulaireUpload").submit(function(){ $("#upload_form").hide("slow"); $("#retour").hide("slow"); $("#barDeProgression").show("slow"); return true; }); function detection($fichier , $random ,$nbclasse){ $('#barDeProgression').show("slow"); $date = "<?php echo date("Y-m-d H:i:s");?>"; $jour = "<?php echo date("Y-m-d");?>"; $adresse += "../data/" + $jour + $fichier; $.get('detection.php', { filename: $chainePost, random: $random, nbclasse: $nbclasse, },function(){.......
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div id="upload_form" class="container"> <div id="retour"></div> <form action="upload.php" method="post" id="formulaireUpload" enctype="multipart/form-data" target="upload_target" onsubmit="" > Nombre de classe (uniquement pour DCNG): <input type="text" id="nbclasse" value="10"> </br> <label>File: <input name="myfile" type="file" id="myfile" size="30" accept=".dat" /> </label> <label> <input type="submit" name="submitBtn" value="Analyser" /> </label> <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> </form> </div>
Ceci est upload.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php // Edit upload location here $rand = rand(2,32767) * rand(2,32767); //Génération d'un nombre aléatoire entre 4 et 1*073*676*289 $jour = date("Y-m-d"); ; $destination_path = getcwd().DIRECTORY_SEPARATOR; //on récupère l'adresse du fichier upload.php $destination_path = str_replace('fichiers' , 'data' , $destination_path); //on se déplace dans le dossier data $destination_path = $destination_path.'/'.$jour.'/'; //On prépare la création du dossier de stockage $result = 0; //init de la variable de sortie if(!is_dir($destination_path)){ //Si le dossier du jour n'existe pas if (!mkdir($destination_path, 0777, true)) //création du dossier jour { die('Echec lors de la création des répertoires...'); //Si erreure } else { chmod($destination_path, 0777); //Modification des droit d'écriture et lecture du dossier } } $destination_path = $destination_path.'/'.$rand.'/'; //On prépare la création du dossier de stockage while(is_dir($destination_path)) //vérifie qu'aucun dossier existant n'ai le nom rand { $destination_path = str_replace($rand , $rand = $rand+1 , $destination_path); //Si c'est la cas, on test avec rand+1 } if (!mkdir($destination_path, 0777, true)) //création du dossier jour { die('Echec lors de la création des répertoires...'); //Si erreure } else { chmod($destination_path, 0777); //Modification des droit d'écriture et lecture du dossier } $target_path = $destination_path . basename( $_FILES['myfile']['name']); //génération du l'adresse du fichier if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) { //Upload du fichier $result = $rand; //Upload réussi alors result =1 si non =0 } sleep(1); //appel de la fonction stopUpload avec result en paramettre. ?> <script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo "$result"; ?>);</script>
J'espère avoir été suffisamment claire dans l'explication de mon pb
D'avance merci
Alex
Partager