Bonjour à tous !
Je me permet de vous demander de l'aide sur un souci que je rencontre. Je ne sais pas s'il provient d'une mauvaise utilisation de PHP ou de javascript... Peut-être saurez-vous m'aiguiller
Le but de mon script est de générer un fichier contenant une liste de dates au format HTML - cette liste est générée via un script AJAX.
L'utilisateur lance une recherche, les résultats s'affichent correctement mais lorsqu'il clique sur un lien "Télécharger", l'enregistrement de l'intégralité dans résultats pose problème...
Jugez plutôt :
Côté javascript (utilisation du framework Mootools 1.11)
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 var contenu = ""; function sendform_evenements() { var log = $('resultats').empty().addClass('ajax-loading').setText('Chargement...'); var url = 'validation/cherche_evenements.php'; var ajaxRequest = new Ajax(url, { method: 'post', encoding: 'uft-8', data:document.forms[0], onComplete: function(responseHTML) { log.removeClass('ajax-loading'); contenu = responseHTML; telecharger_liste(); }, update:log }); ajaxRequest.request(); } function telecharger_liste() { if (contenu != "") { var url = 'telecharger.php'; var ajaxRequest = new Ajax(url, { method: 'post', encoding: 'utf-8', data:'contenu='+contenu, onComplete: function(responseHTML) { $('lien_telecharger').setProperty('href', 'temp/liste.html'); } }); ajaxRequest.request(); } else { alert('Veuillez effectuer une recherche avant de télécharger la liste des résultats'); } }
Côté PHP
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 if ($_POST && $_POST['contenu'] != "") { $chemin_fichier = 'temp/liste.html'; $contenu = utf8_decode(stripslashes($_POST['contenu'])); $contenu = preg_replace('#(<[/]?img.*>)#U', '', $contenu); // supprime les éventuelles images // création du fichier sur le serveur $nouveau_fichier = fopen($chemin_fichier, 'w'); if ($nouveau_fichier == FALSE) unlink($chemin_fichier); else { file_put_contents($chemin_fichier,$contenu); } }
Tout fonctionne du moment que le nombre de dates à enregistrer n'excède pas les 100-120 - ce qui équivaut à un fichier de 40Ko environ...
Pourriez-vous me dire ce qui cloche ?
D'avance merci !
Partager