Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben

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!

  • 4 Jahre später...
Geschrieben

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

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

Geschrieben
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

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