Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2006, 10h25   #1
Invité régulier
 
Inscription : décembre 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 40
Points : 7
Points : 7
Par défaut Vérifier la présence d'un fichier

Bonjour,
Je réalise pour ma bibliothèque une page permettant d'afficher un journal en ligne. En cliquant sur un calendrier, on récupère les infos sur l'année, le mois et le jour du numéro de journal que l'on veut afficher. Toutefois, certains jours sont fériés et dans ce cas la page affiche un message d'erreur 404. J'aimerais donc vérifier que le pdf appelé existe avant de l'afficher. J'ai écrit cela ainsi:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<% 
a=request.QueryString("annee")
m=request.QueryString("mois")
j=request.QueryString("jour")
fichier="http://bpun.unine.ch/icono/express/"& a &("/")& m &("/")& j&(".pdf")
 %>
<%  
	Set fs = CreateObject("Scripting.FileSystemObject")
	If fs.FileExists(fichier) = true then 
	Response.Write "Le fichier "&fichier&" est présent"
	Else 
    Response.Write "Le fichier "&fichier&" n'est pas présent"
	End If 
%>
Cela ne fonctionne malheureusement pas, mais je ne suis pas sûr d'utiliser la bonne méthode...
Merci pour toute réponse!
Bonne journée.
tonyC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 10h50   #2
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Bonjour,

Et pourquoi tu ne vérifiés pas à l'avance si le jour choisi est ferié ou non ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h07   #3
Invité régulier
 
Inscription : décembre 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 40
Points : 7
Points : 7
Bonjour,
Oui, ce serait également très bien de pouvoir vérifier la présence des fichiers et en déduire que s'ils sont absents, les jours en questions sont fériés, et faire en sorte qu'il ne soit pas possible de cliquer sur ce jour du calendrier, mais cela me paraît beaucoup plus compliqué...
tonyC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h19   #4
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 810
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 810
Points : 3 011
Points : 3 011
Re,

Tiens, une piste :

Code :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
 
<% 
a=request.QueryString("annee")
m=request.QueryString("mois")
j=request.QueryString("jour")
if IsFerie(a) then
   response.write("Pas de fichier pour cette date.")
else
   fichier="http://bpun.unine.ch/icono/express/"& a &("/")& m &("/")& j&(".pdf")
........
Function IsFerie(Annee)
	Dim Annee
	Dim Paques
	Dim LunPaq
	Dim Ascension
	Dim LunPent
	Dim PremierJanvier
	Dim PremierMai
	Dim HuitMai
	Dim QuatorzeJuillet
	Dim QuinzeAout
	Dim PremierNovembre
	Dim OnzeNovembre
	Dim Noel
 
	' Chercher le jour de Pâques
	Paques = fPaques(Annee)
 
	' Déduire les jours fériés mobiles
	LunPaq = DateAdd("d", 1, Paques)
	LunPaq = FormatDateTime(LunPaq, 2)
 
	Ascension = DateAdd("d", 39, Paques)
	Ascension = FormatDateTime(Ascension, 2)
 
	LunPent = DateAdd("d", 50, Paques)
	LunPent = FormatDateTime(LunPent, 2)
 
	PremierJanvier = "01/01/" & Annee
 
	' Calculer des jours fériés fixes
	PremierMai = "01/05/" & Annee
	HuitMai = "08/05/" & Annee
	QuatorzeJuillet = "14/07/" & Annee
	QuinzeAout = "15/08/" & Annee
	PremierNovembre = "01/11/" & Annee
	OnzeNovembre = "11/11/" & Annee
	Noel = "25/12/" & Annee
 
	if cstr(Lejour) = cstr(LunPaq) or cstr(Lejour) = cstr(Ascension) _
	or cstr(Lejour) = cstr(LunPent) or Lejour = PremierJanvier or Lejour = PremierMai _
	or Lejour = HuitMai or Lejour = QuatorzeJuillet or Lejour = QuinzeAout _
	or Lejour = PremierNovembre or Lejour = OnzeNovembre or Lejour = Noel then
		IsFerie = true
	else
		IsFerie = false
	end if
End Function
 
Function fPaques(An)
	'Calcule le jour de Pâques en fonction de l'année
	Dim a
	Dim b
	Dim c
	Dim d
	Dim e
	Dim f
	Dim g
	Dim h
	Dim i
	Dim j
	Dim k
	Dim l
	Dim m
	Dim n
	Dim p
 
	a  = An  Mod 19
	b  = An  \ 100
	c  = An  Mod 100
	d  = b  \ 4
	e  = b  Mod 4
	f  = (b  + 8) \ 25
	g  = (b  - f  + 1) \ 3
	h  = (19 * a  + b  - d  - g  + 15) Mod 30
	i  = c  \ 4
	k  = c  Mod 4
	l  = (32 + 2 * e  + 2 * i  - h  - k ) Mod 7
	m  = (a  + 11 * h  + 22 * l ) \ 451
	n  = (h  + l  - 7 * m  + 114) \ 31
	p  = (h  + l  - 7 * m  + 114) Mod 31
	fPaques = DateSerial(An , n , p  + 1)
End Function
 
 %>
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h52   #5
Invité régulier
 
Inscription : décembre 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 40
Points : 7
Points : 7
Merci beaucoup, pc75, pour ce superbe code, mais malheureusment, il y a d'autre paramètres que les jours fériés dont il faut tenir compte (semaine de fermeture, no spéciaux, exceptions de tout ordre, etc...), et c'est pourquoi je m'étais plutôt dirigés vers la première méthode.
Pourrais-tu me dire ce qui cloche dans celle-ci? Est-ce le fait que le nom du fichier soit en même temps une adresse web?
Merci de ta réponse
tonyC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 11h56   #6
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Yop!

L'argument de la fonction FileExist est un chemin d'accès vers un fichier(c:\monrepertoire\monfichier.txt) et non pas une URL, voilà pourquoi cela ne fonctionne pas.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 12h33   #7
Invité régulier
 
Inscription : décembre 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 40
Points : 7
Points : 7
et il serait possible de faire le test en intranet?
tonyC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 12h51   #8
Membre chevronné
 
Avatar de ryan
 
Inscription : juin 2003
Messages : 766
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 766
Points : 760
Points : 760
Théoriquement, ce devrait être possible.
ryan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 13h09   #9
Invité régulier
 
Inscription : décembre 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 40
Points : 7
Points : 7
Ok, merci, je vais essayer cela.
Bonne fin de journée.
tonyC est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h46.


 
 
 
 
Partenaires

Hébergement Web