Avatar billede etrebla Nybegynder
21. januar 2004 - 11:54 Der er 7 kommentarer og
1 løsning

åbne fil over netværk

jeg kører med php4.3 på IIS5.0 på win2000server - hvordan kan jeg tilgå f.eks. en .txt-fil på en anden server på LAN'et?
Avatar billede muddi Praktikant
21. januar 2004 - 12:00 #1
Vil du læse eller skrive fra/til filen?
Avatar billede muddi Praktikant
21. januar 2004 - 12:10 #2
Du kan åbne den med http eller ftp protokollen, når du bruger fopen().

<?php
print("<h1>HTTP<h1>\n");

//åben en fil med http protokollen
//brug brugernavn og password
if(!($myfile = fopen("www.dinside.dk/"" target="_blank">http://brugernavn:password@www.dinside.dk/", "r")))
{
    print("file could not be opened");
    exit;
}

while(!feof($myfile))
{
    // læs en linie fra filen
    $myline = fgetss($myfile, 255);
    print("$myline <br>\n");
}

//luk filen
fclose($myfile);
Avatar billede muddi Praktikant
21. januar 2004 - 12:11 #3
Det er ikke muligt at skrive til filen, men hvis du bruger ftp kan du oprette nye filer på serveren.
Avatar billede minijensen1 Nybegynder
21. januar 2004 - 12:14 #4
vil tro at det er muligt for dig at oprette et netværksdrev til et share på den anden computer, med "net use" (skriv "net help use" i din kommandoprompt for at se syntax) ..

Du burde så kunne bruge php's exec() funktion til at udføre denne kommando.
Avatar billede etrebla Nybegynder
22. januar 2004 - 11:48 #5
det er ikke fra en http/ftp server, fra en filserver ...
har så mappet et share på filserveren til K: på webserveren

men hvordan kan en sti der resulterer true fra is_dir() være et ugyldigt argument til opendir() ?

følgende kode
<?php

$dirpath = "K:\\";

if(is_dir($dirpath)){
    echo "dirpath er et dir<br>";
    $dirhandler = opendir($dirpath);
    if($dirhandler){
        echo "dir åbnet<br>";
    } else {
        echo "dir IKKE åbnet<br>";
    }
} else {
    echo "dirpath er IKKE et dir<br>";
}

?>

giver følgende output
dirpath er et dir

Warning: opendir(K:\): failed to open dir: Invalid argument in C:\WWWdocs\test\test.php on line 7
dir IKKE åbnet
Avatar billede minijensen1 Nybegynder
22. januar 2004 - 15:19 #6
Sad lige og fandt dette:
<-- snip -->
Matt Grimm
06-Jun-2003 07:25
Thought I could help clarify something with accessing network shares on a Windows network (2000 in this case), running PHP 4.3.2 under Apache 2.0.44.

However you are logged into the Windows box, your Apache service must be running under an account which has access to the share.  The easiest (and probably least safe) way for me was to change the user for the Apache service to the computer administrator (do this in the service properties, under the "Log On" tab).  After restarting Apache, I could access mapped drives by their assigned drive letter ("z:\\") or regular shares by their UNC path ("\\\\shareDrive\\shareDir").
mitka at actdev.com
27-Sep-2002 10:42
Re: Accessing network directories on W32

In reply to the previous comments, to enable opendir() to open directories like "\\SOMEHOST\shareddir", with PHP+IIS:

Follow the instructions here: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q189408

Check that the file share allows reads to IUSR_[HOSTNAME] user.
<-- /snip -->

src: http://dk.php.net/manual/en/function.opendir.php

Måske nogle rettigheder som har noget med det at gøre?
Avatar billede etrebla Nybegynder
23. januar 2004 - 08:38 #7
ja, det har jeg kigge på, men microsofts løsning kan ikke bruges - for det første er det af andre årsager ikke en mulighed at tillade anonymous access og selvom det var så hjælper det ingengang (har prøvet)
med hensyn til tilladelser, så har alt og alle fulde rettigheder i roden af den mappe der er mappet til K:

er sgu ved at få lange boller over det her
Avatar billede etrebla Nybegynder
16. august 2004 - 08:09 #8
lukker
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