Zum Inhalt springen

Dateien auslesen aus Netzlaufwerk oder Netzwerkpfad


Empfohlene Beiträge

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 !!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ???

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Jahre später...

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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);
?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...