Veröffentlicht 27. November 200321 j Hi, ich habe einen Rechner auf dem ein Verzeichnis freigegeben ist, indem ein paar Dateien liegen. Jetzt möchte ich mit meinem Webserver (ist mit dem anderen Rechner über LAN verbunden) diese Dateien in einer anzeigen. Dummerweise geht opendir nicht mit \\pc2\meinpfad\ (oder \\\\pc2\\meinpfad\\) und auch nicht wenn ich die Freigabe als Netzlaufwerk am Webserver mache. Warning: opendir(\\pc2\meinpfad\): failed to open dir: Invalid argument in main.php on line 12 [/PHP] Ich habe auch probiert mit einer .cmd die Ordnerinhalte in eine Datei umzuleiten doch wenn ich diese .cmd von php ausführen lasse erstellt er die Datei lässt Sie allerdings leer. [PHP] exec(escapeshellcmd("dir \\pc2\meinpfad /B > test.txt")); Danke für jede hilfe !!!
27. November 200321 j Nabend! Hat der Webserver auch die entsprechenden Rechte auf das Share zuzugreifen? Welches OS ist der Webserver und der Rechner auf dem das Share liegt? Gruß Azrael
27. November 200321 j Autor Beide Rechner sind Win2000 Prof. und der Webserver hat alle rechte auf die Freigabe (auch Schreibrecht)
28. November 200321 j am einfachsten ist wenn du dir ein netzlaufwerk mappst und das dann mit fopen zugreifst
28. November 200321 j Autor und wie soll ich mit fopen alle dateien ermitteln die in dem Ordner sind ?? Ist fopen nicht nur für Dateien ??? kann mir einer bitte sagen wie ich es benutzen muss damit ich alle dateien in dem ordner ermitteln kann ???
28. November 200321 j sry ich war aufm holzweg: <?php if ($dir = @opendir("X:\\\\")) { while (($file = readdir($dir)) !== false) { echo "$file\n"; } closedir($dir); } ?> [/PHP] und vorher laufwerk X: mit net use oder windows assistent mappen
28. November 200321 j Autor geht nicht ... :-( if ($dir = opendir("E:\\")) { while (($file = readdir($dir)) !== false) { echo "$file\n"; } closedir($dir); } Hab E: aufm Webserver gemappt ... Warning: opendir(E:\): failed to open dir: Invalid argument in main.php on line 15 hat das evtl was mit der PHP.ini zu tun oder liegt das am IIS ???
28. November 200321 j php manual: It appears that opendir() can't open directories over a network or on mapped network drives in Windows 2000. $handle = opendir("c:\\"); will work, but the following code won't: $handle = opendir("p:\\"); p: is the mapped network drive that I want to access. mh mal sehen was noch für möglichkeiten gibt weiterhin 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. Quelle: http://de.php.net/manual/de/function.opendir.php und gib bitte antwort obs geholfen hat
1. Dezember 200321 j Autor hmm, das is aber auch schlecht .... ich brauch den Benutzernamen des Users (Intranet) ! anhand von diesem erfolg nämlich eine Weiterleitung. Deshalb hab ich den Anonymen Zugriff auch verboten!
15. Mai 200817 j Hallo, Habe so ein änliches Problem und habe das hier dafür geschrieben, vieleicht hilft es dir ja auch weiter: Das Paket smbfs muss installiert sein auf dem Server. <? //Mapppen function SMBMap($username, $password, $server, $dir) { $command = "mount -t smbfs -o username=$username,password=$password //$server/$dir /mnt/tmp"; echo system($command); } //Freigeben function SMBRelease() { $command = "umount /mnt/tmp"; echo system($command); } //Dateien auslesen function GetFiles($dir) { $files = array(); if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { $files[] = $file."{".filetype("$dir/$file")."}"; } closedir($dh); } } return $files; } SMBMap("Daniel", "", "10.0.0.2", "Kram"); $any = GetFiles("/mnt/tmp"); SMBRelease(); print_r($any); ?> Grüsse von myweb.lu
16. Mai 200817 j Hi, ich habe einen Rechner auf dem ein Verzeichnis freigegeben ist, indem ein paar Dateien liegen. Jetzt möchte ich mit meinem Webserver (ist mit dem anderen Rechner über LAN verbunden) diese Dateien in einer anzeigen. exec(escapeshellcmd("dir \\pc2\meinpfad /B > test.txt")); [/PHP] Du musst hier nur die Backslashes maskieren, dann funktioniert das auch. Und der Benutzer unter dem der Webserver ausgeführt wird (IUSR_xxx) muss Zugriffsrechte auf die Freigabe haben. [PHP] <?php $files = array_filter(array_map("rtrim", explode("\n", `dir \\\\pc\\share /B`))); var_dump($files); ?>
16. Mai 200817 j Das Paket smbfs muss installiert sein auf dem Server. Beide Rechner sind Win2000 Prof leichenschändung eines 5 jahre alten threads und linuxfunktionen und -pfade werden dem windows 2000 OP nicht helfen s'Amstel
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.