Avatar billede henriklaursen Nybegynder
29. januar 2003 - 08:29 Der er 14 kommentarer og
1 løsning

Åbne fil med php ?

Hej.
det er muligt dette er et nemt spørgsmål, men jeg kan ikke lige gennemskue hvad jeg skal gøre..

Jeg har en hjemmeside, hvorpå der ligger links til forskellige filer. Når jeg klikker på disse links vil jeg kalde en anden fil, som tager sig af åbningen af filen.
det link som jeg trykker på ser således ud..

<a href='fopen.php?file=$fil' target='_new'>fil</a>

det der så er mit problem er at fopen.php åbenbart ikke åbner filen. min fopen.php ser således ud.

<?
fopen ("docs/$file", "r");
?>

r der nogle der ved hvad jeg skal skrive for at få det til at virke ??

(grunden til jeg åbner den med en anden fil er, at jeg ikke vil have den direkte adresse til filen til at forekomme nogle steder.)
Avatar billede Thomas Nybegynder
29. januar 2003 - 08:33 #1
Husk at dit indhold af variabler skal echoes - derfor skal du nok ændre din kode til:
<a href='fopen.php?file=<?php echo $fil;?>' target='_new'>fil</a>
Avatar billede kinguru Nybegynder
29. januar 2003 - 08:34 #2
Du kan istedet for at bruge fopen, bruge include!
eksempel: // Hvis altså $file er et komplet filnavn såsom andet.php eller lign.
<?
include("docs/$file");
?>
Avatar billede henriklaursen Nybegynder
29. januar 2003 - 08:36 #3
linket er "echoet" i sig selv, og den får $fil rigtigt nok med over.
så.... det hjalp ikke så meget..

andre forslag?
Avatar billede kinguru Nybegynder
29. januar 2003 - 08:37 #4
Har du prøvet at bruge include istedetfor fopen?
Avatar billede kinguru Nybegynder
29. januar 2003 - 08:38 #5
fopen bruger jo en streamReader istedet for blot at include filen... Men du kan godt bruge fopen, så skal du bare selv lave sådan at den indlæser filen og udskriver linjerne!
Avatar billede henriklaursen Nybegynder
29. januar 2003 - 08:40 #6
jep, har lige prøvet..
men det bliver noget volapyk..
for med include så indsætter den bare teksten råt i browseren´.
(hvilket ikke ser så fedt ud med et word dokument)
meningen er, at den skal åbne det "rigtige" program til den pågældende fil.
f.eks. .doc skal åbnes af f.eks. Word.

andre forslag.
Avatar billede henriklaursen Nybegynder
29. januar 2003 - 08:41 #7
hmm.. det er muligt jeg ikke skal bruge fopen overhovedet.
jeg skal bare have så den åbner den pågældende fil..
ligemeget hvordan..
Avatar billede kinguru Nybegynder
29. januar 2003 - 08:41 #8
Du kunne gøre det med fopen sådan her f.eks:
// Jeg har ikke lige testet scriptet endnu!

$file = fopen("docs/" . $file, "r");

while(!feof ($file)) {
    $buffer = fgets($file, 4096);
    echo $buffer;
}
fclose($file);
Avatar billede kinguru Nybegynder
29. januar 2003 - 08:43 #9
Jeg bruger selv include() på mine sider, og den gør nemlig det at den henter en php, html eller whatever fil ind hvor du smider include().

Så hvis du bruger include("docs/$file"); fungere det uden større problemer!
Avatar billede henriklaursen Nybegynder
29. januar 2003 - 08:45 #10
de giver det samme output begge forslag.
et udsnit af en wordfil ...
-----
ÐÏࡱá>þÿ !#þÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á9 ð¿èbjbjýÏýÏ" Ÿ¥Ÿ¥èÿÿÿÿÿÿl       VVVV b
-----
og det er ikke ligefrem det jeg skal bruge.  :-)

kan man lave en <A> som ikke kræver et museklik ?
Avatar billede kinguru Nybegynder
29. januar 2003 - 09:46 #11
Hmm! Wierd, hvad er det lige der ligger i den fil som du henviser til med $file??

Kunne jeg måske lige få to links, et direkte til filen, og et som bruger scriptet??

Ang det med museklik, kan man lave et link som aktiveres når musen kommer hen over linket! <a onMouseOver="location.href='index.php'">Link</a>

_claw_

ps. Hvis du prøver at indhente en worldfil, så er det jo klart! IE explorer kan jo i sig selv ikke vise en wordfil, når der bliver henvist til en wordfil, bruger den word som plugin til at vise disse filer, det du gør i php er at du henter wordfilens kode direkte, og det ser nogenlunde sådan ud som du ser det der!
Det er lidt ligesom at åbne en Word fil med notepad!
Avatar billede henriklaursen Nybegynder
29. januar 2003 - 09:54 #12
jep. det forstår jeg godt.
men kan man så ikke "Tvinge" browseren til at skulle downloade filen ?
Avatar billede kinguru Nybegynder
29. januar 2003 - 10:02 #13
Kun ved som sagt at sende dem direkte med et "normalt" link!

I øjeblikket kender jeg ikke lige til en metode til at du kan få dem til at downloade det uden at de får det direkte link!
Avatar billede olebole Juniormester
31. januar 2003 - 01:50 #14
<ole>

Her er et fint eksempel på, hvordan man laver forced download:
  http://www.php.net/manual/en/function.fread.php
Eksemplet er bruger-noten (25-Aug-2002 04:06)

/mvh
</bole>
Avatar billede henriklaursen Nybegynder
31. januar 2003 - 09:20 #15
jeg prøvede at søge rundt i nogle andre spørgsmål. og fandt selv ud af svaret..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester