Scratch Geschrieben 27. November 2003 Geschrieben 27. November 2003 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 !!! Zitieren
A.Z.R.A.E.L. Geschrieben 27. November 2003 Geschrieben 27. November 2003 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 Zitieren
Scratch Geschrieben 27. November 2003 Autor Geschrieben 27. November 2003 Beide Rechner sind Win2000 Prof. und der Webserver hat alle rechte auf die Freigabe (auch Schreibrecht) Zitieren
kills Geschrieben 28. November 2003 Geschrieben 28. November 2003 am einfachsten ist wenn du dir ein netzlaufwerk mappst und das dann mit fopen zugreifst Zitieren
Scratch Geschrieben 28. November 2003 Autor Geschrieben 28. November 2003 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 ??? Zitieren
kills Geschrieben 28. November 2003 Geschrieben 28. November 2003 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 Zitieren
Scratch Geschrieben 28. November 2003 Autor Geschrieben 28. November 2003 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 ??? Zitieren
kills Geschrieben 28. November 2003 Geschrieben 28. November 2003 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 Zitieren
Scratch Geschrieben 1. Dezember 2003 Autor Geschrieben 1. Dezember 2003 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! Zitieren
ndklinux Geschrieben 15. Mai 2008 Geschrieben 15. Mai 2008 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 Zitieren
DaRealFox Geschrieben 16. Mai 2008 Geschrieben 16. Mai 2008 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); ?> Zitieren
Amstelchen Geschrieben 16. Mai 2008 Geschrieben 16. Mai 2008 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.