Salut tout le monde,
j'aimerai savoir comment tester si un fichier existe... je pense qu'il faut aller du coté du try / catch mais je ne voit pas trop comment le construire...
merci de votre aide
Salut tout le monde,
j'aimerai savoir comment tester si un fichier existe... je pense qu'il faut aller du coté du try / catch mais je ne voit pas trop comment le construire...
merci de votre aide
pas possible en simple javascript ...
il faut passer par ajax et recupérer le ready status
hum et comment fonctionne ready status ? c'est le truc si il est egale a 4 c'est que cest bon ou un truc dans le genre non ? comment structuré tout sa ?
jette un oeil sur le tuto de siddh ... dans la partie ajax ...
hum ben il ne m'apprend rien de plus... je sais que le readystate renvoie un chiffre en fonction de son status et que sa nous indique son état mais sa ne m'explique pas comment faire pour lui spécifier mon fichier a tester...
ben tu fais juste un request bidon vers le fichier en question et tu regarde ce que te donne le readystatus sur un fichier qui n'existe pas par rapport à celui d'un fichier qui existe ...
ok merci je vais essayer sa !
bon je pense que je vais abandoner parce que j'arrive vraiment pas.. voila ce que jai fais pour le moment :
pis ensuite j'ai fais un lien avec un onclick sur la methode checkIfFileExist avec un nom de fichier en parametre mais sa ne fonctionne pas super... mais il y a un concept que je ne comprend pas... je suis donc obliger de faire un send ????
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 function handleHttpResponse() { if(http.readyState == 4){ alert('server ok'); }else{ alert('server ko'); } } function doCheckIfExist(file){ if (http) { http.open("POST", url , true); http.onreadystatechange = handleHttpResponse; http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); var parameters = file; http.send(encodeURI(parameters)); } }//fin de la fonction doCheck() function getXMLHTTP(){ var xhr=null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e1) { xhr = null; } } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); } return xhr; } var http = getXMLHTTP();
essaye deja de faire un alert du readystate dans un setInterval ... ou sur le readystatechange ...
ben en faite jai trouver autre chose pour faire mon truc...
voila mon code :
voila en faite je fais un http.open sur le fichier a tester en question puis j'analyse le http.status et non pas le readyState !
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 <script language="javascript"> var image = "picture.jpg"; function handleHttpResponse() { if(http.readyState == 4){ if(http.status == 200){ alert('status n°'+http.status+' : file existe'); }else if(http.status == 404){ alert('status n°'+http.status+' : file not existe'); }else{ alert('status n°'+http.status+' : other error'); } } } function doCheckIfExist(file){ if (http) { http.open("POST", image , true); http.onreadystatechange = handleHttpResponse; http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //tu lui dit que c'est encodé, comme quand tu envoies tes données avec un <form method="post"...> d'où le www-FORM- ... var parameters = file; http.send(encodeURI(parameters));//tu dois crypter les informations du post et on envoie } }//fin de la fonction doCheck() function getXMLHTTP(){ var xhr=null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e1) { xhr = null; } } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); } return xhr; } var http = getXMLHTTP(); </script>
aussi ...
De mon coté je testais le response ...
car mon hébergeur retroune une page erreur 404 personalisée ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (ReqObj.responseText.split('\<html\>').length>1)
suffit alors de repérer un element devant figurer dans le texte et de tester un indexOf ...
ha ouai cest pas mal aussi effectivement ! bon merci en tout cas
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager