11. december 2001 - 01:59Der er
20 kommentarer og 1 løsning
Manipulering af filer
Hej alle
Jeg er ret ny i webprogrammering og skal til at lave et projekt, hvor jeg har brug for at manipulere med filer på klientens PC. Jeg har kun lidt erfaring med HTML. Jeg havde forestillet mig, at jeg ville gå i krig med PHP og MySQL, da projektet også omfatter hentning af data fra en database. Mit spørgsmål går på, om det med PHP kan lade sig gøre at manipulere med filer på klientens PC eller er det kun serveren det kan lade sig gøre på? Hvis det kun er serveren, hvilket andet (script)sprog skal jeg så anvende? Med manipulering af filer, mener jeg gemme og læse teksfiler. Jeg får evt. også brug for at kunne læse tekstfiler på en anden host end både klienten og serveren! Begynder det at lyde umuligt?!
Det er, så vidt jeg ved, ikke muligt at få forbindelse til filer/data på clientens computer med PHP, med undtagelse af cookies.
Du skal vist nok have fat i VBScript til det formål. At få adgang til filer på en anden server end ens egen kræver at denne server er indstillet til at godkende det, og det er de som standard ikke (af sikkerhedsmæssige årsager)
Som dcoder siger, er det nok ikke noget, du kommer langt med, og den bedste mulighed er nok at lave det med ActiveX-komponenter (som jeg ikke har viden til at udtale mig om).
Mht. Læsning af tekstfiler på en anden host, ser det noget bedre ud - her kan du hente indholdet via http og behandle det som enhver anden fil (men det er dog read-only, da du ikke kan ændre i filer på en anden host på denne måde).
Desuden skal de lige nævnes at hvis du henter f.eks. en PHP fil fra en anden server vil du ikke få PHP koden med, da serveren altid vil eksekvere den før den sender siden nogen steder.
dcoder >> Det er en sandhed med modfikationer (du har helt ret, men): Da det er tekstfiler, sortguld vil hente, parses disse nok ikke af webserveren som værende f.eks. PHP-filer, og dermed vil hele indholdet komme med.
Nu er definitionen på en PHP-fil jo ikke, at den har en eller anden bestemt endelse ;-) Har du en PHP-fil med endelsen .txt, vil f.eks. Apache på en standardopsætning bare spytte PHP-koden ud. Men vi er jo enige, så... :)
lundsfryd & dcoder >> man kan også hente (require & include) ved hjælp af ftp, altså noget ala: include(\"ftp.websted.dk\"" target="_blank">ftp://bruger:koderord@ftp.websted.dk\");
lundsfryd >> Java kan sagtens arbejde med filer. Java alt hvad du kan, med almindelige programmer. Men du har ret i, at en java-applet (af sikkerhedsmæssige grunde) ikke umiddelbart kan pille ved brugerens filsystemer.
Hvis jeg finder ud af, at den begrænsning ikke findes i ActiveX, er der en hvis sandsynlighed for, at jeg ved næste lejlighed vil ofre alle mine CD\'er med Microsoft-software til regnguden Bendt. ;-)
Jeg ved ikke præcist hvordan man kommer uden om denne begrænsning, hverken med Java eller ActiveX, men det er vist noget med certifikater... Spørg en Java-udvikler om det, ikke en PHP-udvikler. ;-)
Jeg er klar over, at Java kan arbejde med filer, men at en Applet netop pga. sikkerheden ikke kan rode med ret mange ting på klienten.
Derfor undrer det mig bare lidt, at I foreslår at bruge Java, når vi alle er enige om, at det ikke umiddelbart kan bruges ;-)
Jeg vil heller ikke udelukke, at man kan lave en signed Applet, der i større omfang har adgang til klienten (en ActiveX-komponent skal jo også signes, dvs. have et certifikat for at kunne bruges).
> Spørg en Java-udvikler om det, ikke en PHP-udvikler. ;-)
Jeg er selv Java-udvikler af uddannelse (på papiret, i hvert fald) :)
> Jeg vil heller ikke udelukke, at man kan lave en signed > Applet, der i større omfang har adgang til klienten (en > ActiveX-komponent skal jo også signes, dvs. have et > certifikat for at kunne bruges).
Dvs. at bruge ActiveX løser ikke nogen problemer? Hvilken fordel kan så opveje platforms-afhængigheden?
> Jeg er selv Java-udvikler af uddannelse (på papiret, i hvert > fald) :)
Så må du jo kunne sige om det kan lade sig gøre, og i så fald, hvordan. Ellers er din uddannelse lige så værdiløs, som dem jeg droppede. ;-)
Jeg ved ikke, om brugen af ActiveX løser problemerne eller ej (som jeg siger, har jeg ikke særlig forstand på det). Jeg har dog en formodning om, at man _kan_ gøre det med ActiveX, men at man ikke kan med Java. Certifikater er ligegyldige som sådan - de giver i sig selv ikke mulighed for noget, de sørger bare for, at brugeren har vished for, at han kan stole på systemet.
> Så må du jo kunne sige om det kan lade sig gøre, og i så fald, hvordan
Jeg har desværre kun arbejdet med applikationer (bl.a. traditionel client/server).
Hmmm....sådan som jeg forstår på denne diskution, så skal jeg vælge enten ActiveX el. Java for at bare have den mindste chance for at arbejde med filer på klienten. Ud fra min endnu meget begrænset viden om disse to teknikker, kan jeg så ikke med rette sige, at så er det mest fornuftigt at vælge Java, da dette giver den største platforms uafhængighed? Med manipulering af filer på klienten, mener jeg at jeg gerne vil kunne oprette og gemme nogle .txt - filer på klienten. Skal jeg evt. prøve at lave et indlæg i Java - forum´et, eller har i et klart svar på det?
> Certifikater er ligegyldige som sådan - de giver i sig selv > ikke mulighed for noget, de sørger bare for, at brugeren har > vished for, at han kan stole på systemet.
Ligesom en husnøgle i sig selv ikke giver tag over hovedet, men man får det heller ikke uden? :)
Jeg ved ikke præcist om Java-applets kan få adgang til klientens filsystem. Men hvis de kan, så skal der i hvert fald et certifikat til.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.