Bonjour, j'ai un problème pour faire fonctionner une fonction php dans ajax.
Je voudrais que lorsque je ferme ma page web, un script s'exécute coté serveur pour supprimer des fichiers temporaires.
J'ai intégré dans mon body de ma page
dans mon recherche.js j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <script type="text/javascript" src="js/recherche.js" charset="iso_8859-1"></script> <body onbeforeunload="delTmpFile();">
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 function creerRequete() { var requete = null; try { /* On tente de créer un objet XmlHTTPRequest */ requete = new XMLHttpRequest(); } catch (microsoft) { /* Microsoft utilisant une autre technique, on essays de créer un objet ActiveX */ try { requete = new ActiveXObject('Msxml2.XMLHTTP'); } catch(autremicrosoft) { /* La première méthode a échoué, on en teste une seconde */ try { requete = new ActiveXObject('Microsoft.XMLHTTP'); } catch(echec) { /* À ce stade, aucune méthode ne fonctionne... mettez donc votre navigateur à jour ;) */ requete = null; } } } if(requete == null) { alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.'); } return requete; } function delTmpFile() { /* On crée l'objet XHR */ var requete = creerRequete(); if (requete == null) { return; } /* Définition du fichier de traitement */ var fonction = 'supression.inc'; /* Envoi de la requête à la page de traitement */ requete.open('GET', fonction, true); requete.send(null); }
et dans ma page suppression.inc
Désolé, je suis débutant en ajax (je sais que ma question doit être stupide...)
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 <?php function delTmpFiles($numSession) { $numSession = sprintf("%'03.u", $numSession); $dir = "tmp/$numSession"; // ajout du slash a la fin du chemin s'il n'y est pas if ( !preg_match( "/^.*\/$/", $dir ) ) { $dir .= '/'; } // Ouverture du repertoire demande $handle = @opendir( $dir ); // si pas d'erreur d'ouverture du dossier on lance le scan if( $handle != false ) { // Parcours du repertoire while( $item = readdir($handle) ) { if (($item != ".") && ($item != "..")) { if ( is_dir( $dir.$item ) ) { delTmpFiles( $dir.$item ); } else { unlink( $dir.$item ); } } } // Fermeture du repertoire closedir($handle); // suppression du repertoire $res = rmdir( $dir ); } else { $res = false; } return $res; } ?>
Vous avez une idée de mon erreur ?
Merci pour vos réponses.
Cordialement.
Partager