[JS] Checken of bestand bestaat

Pagina: 1
Acties:

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
Is er een manier om met Javascript te checken of een bestand bestaat op de server. En het gaat niet om een plaatje maar over een word document.
code:
1
if ("bla.doc" == online) { alert("oke") }

Zoiets bedoel ik. Ik wil een aantal links laten creeren door javascript door middel van een check of bepaalde bestanden bestaan. :?

Verwijderd

Je kunt dit alleen doen met images helaas pindakaas :)

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 21:02
JavaScript is toch alleen client sided...
Met PHP c.q. Perl zou zoiets wel kunnen.

Motor (of auto) onderhoud bijhouden


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

gelukkig kan javascript dit idd niet...

je zóu natuurlijk php kunnen gaan leren :)
PHP:
1
<?if (file_exists($worddoc)){echo ('blaat!');}?>

Stop uploading passwords to Github!


  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
Ik weet dat js client side is, en ik heb voor dit script geen php ter beschikking. Kun je zo'n doc ook niet in een object gooien, of een soort window.open met een onerror functie?

En php leren? Ik werk met asp php en cgi de hele dag door.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

of Java :)

if(new File("bla.doc").exists()){
// joepie
}

Maar goed.. het blijft allemaal serverside..

  • Glacier
  • Registratie: Juli 2000
  • Niet online
Op woensdag 24 april 2002 10:12 schreef papa_eend het volgende:
gelukkig kan javascript dit idd niet...

je zóu natuurlijk php kunnen gaan leren :)
PHP:
1
<?if (file_exists($worddoc)){echo ('blaat!');}?>
Nadeel is dus dat php wel ondersteund moet worden door je server...en ik ken geen gratis servers zonder reclame met een te harden snelheid die php ondersteund ;(

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
En hoe zit het met:
code:
1
2
<script language="javascript" runat="server">
</script>

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op woensdag 24 april 2002 10:14 schreef Glacier het volgende:

[..]

Nadeel is dus dat php wel ondersteund moet worden door je server...en ik ken geen gratis servers zonder reclame met een te harden snelheid die php ondersteund ;(
Probeer http://127.0.0.1 dies heel erg goed heb ik laatst gehoord...

gratis is een relatief begrip...
probeer eens een van de gameclan site ;)

Stop uploading passwords to Github!


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op woensdag 24 april 2002 10:19 schreef papa_eend het volgende:

Probeer http://127.0.0.1 dies heel erg goed heb ik laatst gehoord...
Doet het niet :(

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op woensdag 24 april 2002 10:40 schreef Bosmonster het volgende:

[..]

Doet het niet :(
ooow... dan moet je eerst ff de phpdev patch draaien :P

Stop uploading passwords to Github!


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 21:02
papa_eend:
Probeer http://127.0.0.1 dies heel erg goed heb ik laatst gehoord...
Dat is natuurlijk klink-klare onzin.
Als je PHP server zoekt, moet je niet met je localhost aankomen zetten...

Motor (of auto) onderhoud bijhouden


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op woensdag 24 april 2002 10:58 schreef willem169 het volgende:

[..]

Dat is natuurlijk klink-klare onzin.
Als je PHP server zoekt, moet je niet met je localhost aankomen zetten...
gratis servers zonder reclame met een te harden snelheid
ken jij een betere? tell me plz! :7

Stop uploading passwords to Github!


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 05-09 13:16
Voor testen is localhost natuurlijk prima geschikt maar ik denk dat de topicstarter uiteindelijk z'n pagina wel graag op internet wil zetten. Tja zelfs op internet geldt nog steeds dat voor niks de zon opgaat en de rest geld kost. Een betaald hostingaccountje met PHP/CGI en dergelijk hoeft helemaal niet duur te zijn, kijk bijvoorbeeld eens op www.webhosters.nl. (Als je erg goedkope hosting zoekt kan ik je [spam] www.servicez.org [/spam] aanraden :))

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
Offtopic :'(

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Op woensdag 24 april 2002 10:58 schreef willem169 het volgende:

[..]

Dat is natuurlijk klink-klare onzin.
Als je PHP server zoekt, moet je niet met je localhost aankomen zetten...
|:( |:(
Humorlevel @ willem169 = 0.0
pff beetje minder serieus mag zo nu en dan wel hoor ;)

Maar voor zover ik weet kan het niet met JS.

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23:47

Pelle

🚴‍♂️

Op woensdag 24 april 2002 11:18 schreef XLerator het volgende:
|:( |:(
Die mag je wat mij betreft wel achterwege laten hoor..
pff beetje minder serieus mag zo nu en dan wel hoor ;)
Tsja, maar een minder serieus antwoord is misschien wel leuk maar daar heeft de topicstarter niet zoveel aan.
Maar voor zover ik weet kan het niet met JS.
En ook niet aan het horen van antwoorden die al gegeven zijn :{

Yogho, ben je student? Zo ja, dan moet je es op endoria.net gaan kijken, daar kun je als student gratis php/mysql meuk krijgen, en die bak hangt hier gewoon in de trueserver kast naast de t.net servers, dus das wel aardig snel :)

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 05-09 13:16
Op woensdag 24 april 2002 11:18 schreef Yogho het volgende:
Offtopic :'(
Niet echt hoor, jij wilt checken of een bestand bestaat en dit kan dus gewoon niet met JS (of tenminste niet helemaal 100% zeker / zonder smerige truukjes)...wij proberen alleen maar met jou mee te denken wat een andere oplossing zou kunnen zijn :).

  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
Yogho, ben je student?
Nee, webdeveloper bij de NAM.
Niet echt hoor, jij wilt checken of een bestand bestaat en dit kan dus gewoon niet met JS (of tenminste niet helemaal 100% zeker / zonder smerige truukjes)...wij proberen alleen maar met jou mee te denken wat een andere oplossing zou kunnen zijn .
Oke, word gewaardeerd. Ik ga op zoek naar een andere oplossing. (functie met een array waar alle doc's instaan, hebben de mensen alsnog handwerk)

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 05-09 13:16
Heb je op die webserver helemaal geen beschikking over welke serversidescriptingtaal (leuk woord voor galgje) dan ook?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Gordijnstok>
Waarom zou het wel met images kunnen en vervolgens niet met andere bestanden? En hoe?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
Op woensdag 24 april 2002 11:40 schreef McVirusS het volgende:
Heb je op die webserver helemaal geen beschikking over welke serversidescriptingtaal (leuk woord voor galgje) dan ook?
Jawel, php, asp, java en cgi behoren tot mijn opties. Maar de NAM is zo'n verschrikkelijke trage organisatie. En voor elke applicatie/tool die ik maak moet ik opnieuw een aanvraag indienen. En dat duurt te lang voor zo'n simpel tooltje. Alleen de grote applicaties zijn die tijd waard.

Daarintegen kan ik zoveel js implementeren als ik wil.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op woensdag 24 april 2002 11:44 schreef drm het volgende:
Gordijnstok>
Waarom zou het wel met images kunnen en vervolgens niet met andere bestanden? En hoe?
Hint: onerror -event :)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23:47

Pelle

🚴‍♂️

Op woensdag 24 april 2002 11:45 schreef Yogho het volgende:
NAM
Waar staat dat voor :?
En voor elke applicatie/tool die ik maak moet ik opnieuw een aanvraag indienen.
Ambtenaren zeker ;)

Maar een PHP-file is niet echt een applicatie of tool vind ik. Waarom zou je een aanvraag in moeten dienen voor een file die je in plaats van .html .php noemt, en daar 5 of 6 regels code in opneemt? Gewoon doen, en mochten ze er ooit achter komen en vervelende vragen gaan stellen, dan hebben ze waarschijnlijk niks in te brengen op de argumenten die jij kan geven (sneller, makkelijker, onderhoudbaarder, en niet de moeite van een aanvraag waard).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Pelle:
Waarom zou je een aanvraag in moeten dienen voor een file die je in plaats van .html .php noemt, en daar 5 of 6 regels code in opneemt?
Dat werkt niet altijd ;) Maar het is het proberen waard idd :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • André
  • Registratie: Maart 2002
  • Laatst online: 09-09 14:17

André

Analytics dude

Topicstarter
NAM = Nederlandse Aardolie Maatschappij

We werken met meerdere servers, op 1 van die servers draait alleen maar html en cgi. Als ik asp, php of java wil gebruiken moet ik op een andere server bezig. Als ik dat doe ben ik stout. Inderdaad Ambtenarij, Burokratie, enz....
Maar het geeft niet, het went wel.

Verwijderd

Op woensdag 24 april 2002 11:44 schreef drm het volgende:
Gordijnstok>
Waarom zou het wel met images kunnen en vervolgens niet met andere bestanden? En hoe?
Voor images kun je heel simpel de images preloaden met

mijnafbeelding = new Image();
mijnafneelding.src = 'afbeelding.gif';

Vervolgens kun je met de readystate parameter bekijken of de image inderdaad is ge-preload.

Ik post wel even een voorbeeldje van wat ik heel lang geleden eens in elkaar heb geflanst voor MSN Nederland.

Hierbij ging ik serverside een lijst van images genereren. Vervolgens werden deze gepreload, maar ik merkte op dat afbeeldingen vanwege de snelheid van javascript niet altijd volledig werden ingeladen, en sloeg javascript stukken preloading over. Ik heb hier dus een timeout functie omheen gecoded welke de preload de tijd geeft om de afbeelding volledig in te laden.

Ik geef hierbij een standaard tijd in ms op, voor de timeout, en als de image binnen die tijd niet de kans heeft gekregen om zichzelf te preloaden, ga ik de timeout net zolang verhogen totdat de preload tijd genoeg krijgt om de image volledig in te laden.

Aan de hand van een progressbar kon ik vervolgens de status in procenten volgen, en voor een goed stukje werd er een groen gedeelte van de progressbar geplaatst en voor een niet te laden image een rood stukje.
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<cfdirectory action="list" directory="#GetDirectoryFromPath(GetTemplatePath())#" name="visuals_gif" filter="*.gif">
<cfdirectory action="list" directory="#GetDirectoryFromPath(GetTemplatePath())#" name="visuals_jpg" filter="*.jpg">

<cfif foutmelding EQ "">
<script language="javascript">
function initialize(){
debug = 0;
failed = 0;
success = 0;
retries = 0;
top_timeout = 0;
errors = 0;

barpiece="progressbar_piece.gif";
barerror="progressbar_error.gif";
domain="http://testomgeving/hillandknowlton_xmltool/";
max_pieces = 20;
piececount = 0;
progress_value = "";
theimage=new Array();
myimages=new Array();
errorat=new Array();

// serverside generated list of images
<cfset thisitem = visuals_gif.recordcount>
<cfoutput query="visuals_gif">
<cfset thisitem = thisitem-1>
myimages[#thisitem#]= '#visuals_gif.name#';
</cfoutput>
<cfoutput query="visuals_jpg">
<cfset thisitem = thisitem-1>
myimages[#thisitem#]= '#visuals_gif.name#';
</cfoutput>




imagecount = myimages.length;
def_timeout = 10;
timeout = def_timeout;
max_timeout = 1000;
timeout_increment = 10;
doimage = 0;
interval();
}

function interval(){

if (imagecount > doimage){
    preload(doimage);   
    }
else{
    if (debug == 1){
    window.status = "Images:"+imagecount+"     Failed:"+failed+"     Highest Timeout:"+top_timeout+"ms"+"     Highest Retry-count:"+(top_timeout/timeout_increment)+" times";
    }
    else{
    window.status = "Loading finished...";
    document.getElementById('filename').innerHTML = "<b>Loading... </b>done";
    fnToggle();
    }
    }
}

function preload(){
    theimage[doimage]=new Image()
    theimage[doimage].src=myimages[doimage]
    window.status = "Loading: "+theimage[doimage].src+" with a timeout of:"+timeout+"ms";
    endchar = theimage[doimage].src.length;
    displayfilename = theimage[doimage].src.substring(domain.length,endchar);
    //document.getElementById('filename').innerHTML = "<b>Loading... </b>"+displayfilename+"";
    setTimeout('checkload('+doimage+')' ,timeout);
}

function checkload(item){
    if (theimage[item].readyState != 'complete'){
            
        if (max_timeout < timeout){
        // als een image niet geladen kan worden
            //alert('Error\nImage:'+doimage+' could not be loaded: '+theimage[doimage].src+'\nThe maximum timeout of'+max_timeout+'has been reached');
            
            doimage++;
            
            errorat[Math.round(((item/imagecount)*100)*(max_pieces/100))] = true;
            
            if(doimage == imagecount){
                    percentdone = Math.round(item/(imagecount-1) * 100);
                    barpieces = Math.round((percentdone/100)*max_pieces);
                    progress_value ="";
                    for (var j=0; j < barpieces; j++)
                        {
                            if(errorat[j]){
                            progress_value += "[img]\""+barerror+"\"[/img]";
                            }
                            else{
                            progress_value += "[img]\""+barpiece+"\"[/img]";
                            }
                        }
        
                    if (barpieces != piececount){
                    document.getElementById('progressbar').innerHTML = progress_value;
                    }
            piececount = barpieces;
            }
            
            
            
            timeout = def_timeout;
            interval();
        }
        else{
            timeout = timeout + timeout_increment;
            
            if(timeout > top_timeout){
            top_timeout = timeout;
            }
        
            window.status = "Checking: "+theimage[item].src+" with a timeout of:"+timeout+"ms";
            setTimeout('checkload('+item+')' ,timeout);
            failed++
        }
    }
    else{
        doimage++;
        timeout = def_timeout;
        
        percentdone = Math.round(item/(imagecount-1) * 100);
        barpieces = Math.round((percentdone/100)*max_pieces);
        progress_value ="";
        for (var j=0; j < barpieces; j++)
            {
                if(errorat[j]){
                progress_value += "[img]\""+barerror+"\"[/img]";
                }
                else{
                progress_value += "[img]\""+barpiece+"\"[/img]";
                }
            }
        
        if (barpieces != piececount){
            document.getElementById('progressbar').innerHTML = progress_value;
            document.getElementById('filename').innerHTML = "<b>Loading... </b>"+percentdone+"%";
            }
        piececount = barpieces;
        
        setTimeout('interval()' ,timeout);
    }
}


</script>

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

beetje te veel van 't goeie, maar goed :+

Duidelijk :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1