Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Zugriffe auf einen Ordner, Windows im Vergleich zu Linux

Hallo zusammen,

Ich habe ein Problem bei kopieren von Dateien. Auf einem Windowssystem funktioniert es einwandfrei. Wenn ich aber einen Linux Webserver einsetze bekomme ich folgende Fehlermeldung:

Warning: move_uploaded_file(\\scwc10832\puv_pruefstaende\anhang\problem_anhang\6_test1.bmp): failed to open stream: Permission denied in /srv/www/htdocs/puv_pruefstaende/neues_problem.php on line 462

Warning: move_uploaded_file(): Unable to move '/tmp/php1MgtI7' to '\\scwc10832\puv_pruefstaende\anhang\problem_anhang\6_test1.bmp' in /srv/www/htdocs/puv_pruefstaende/neues_problem.php on line 462

Der Befehl der die Datei kopieren soll lautet (line 462 in neues_problem.php):

Code:                   In Zwischenablage kopieren (nur IE)
1">

in $datei_anhang_pfad steht:
Code:                   In Zwischenablage kopieren (nur IE)
2">

ich komm einfach nicht darauf warum windows das verarbeiten kann und linux nicht?

Ich hoffe es kann mit jemand weiterhelfen. Sagt bitte bescheid wenn ihr weiterer Informationen benötigt.

Grüße Melanie ;)
Hier gehts zum Orginal Eintrag "Zugriffe auf einen Ordner, Windows im Vergleich zu Linux" im Forum

Antworten

Zitat:
Permission denied

Steht doch da!
Prüfe mal die access-rechte auf dem folder wo du da herumkopieren willst.
(chmod 777 /pfad/zum/folder)


2.

der linux server hat aber die selben rechte wie der windows server in dem oben genannten verzeichnis... ;(

also ist es ganz sicher ein problem mit den rechten?

Der Pfad $datei_anhang_pfad."\\anhang\\problem_anhang\\ ist auf einem Windows Rechner, hat Linux damit vielleicht Probleme?


3.

du willst also dass das script auf der linux kiste via share auf der windowskiste speichert?

das funktioniert nicht wie unter windows mit \\kiste\share, du brauchst samba um windows-shares zu mounten.

Aber möglicherweise steh ich auch einfach nur am Schlauch und wir reden völlig aneinander vorbei.


4.

Ich glaube du liegst schon richtig mit deiner Vermutung.


Also die Webapplikation läuft auf einem Linux-Server. Dateien sollen über die Webapplikation, aber auf einem Windows Rechner gespeichert werden (ja ich weis, das klingt komisch, lässt sich aber momentan leider nicht umgehen).

Unter Windows hab ich einfach mit der Option "Freigabe" eines Ordners, den Ordner freigegeben.

Was du mir also sagen willst ist, dass ich ich auf dem Linux Rechner den Windows Verzeichnis mounten muss.

Ok ich werd das dann mit den zuständigen Personen abklären müssen.


5.

Das funktioniert nicht, weil der Pfadtrenner unter Linux nicht der Backslash '\' ist, sondern der normale Slash '/'. Der entsprechende Pfad würde unter Linux so heißen:

Code:                   In Zwischenablage kopieren (nur IE)
3">

Du kannst aber umgekehrt unter Windows auch den Slash verwenden (anstatt Backslash) - das funktioniert ebenfalls. Ganz sauber programmierst Du es, wenn Du nicht die Zeichen selbst im Code einbindest, sondern mit der PHP-Konstanten DIRECTORY_SEPARATOR arbeitest - dort steht immer der richtige Wert drin, je nachdem wo Dein Script ausgeführt wird.


6.

@Rana

Das nebenbei, ist natürlich auch richtig.

Das grössere Problem ist aber vorerst dass das windows share erst mal gemountet werden will bevor man was hintun kann ;)


7.

aber wenn die Meldung PERMISSION DENIED kommt, bedeutet es doch das das Verzeichnis gefunden wurde oder?
und somit nur die Rechte zum Schreiben für das Verzeichnis fehlen.

also hat es doch nichts mit der pfadangabe zu tun oder?


8.

Zitat:
Das grössere Problem ist aber vorerst dass das windows share erst mal gemountet werden will bevor man was hintun kann
Das habe ich ja jetzt erst gelesen - mal ne ganz doofe Frage: Was für ein Netzwerk ist überhaupt aktiviert?

Einfach nur in Windows einen Ordner freizugeben ist noch nicht einmal die halbe Miete - auf dem Linuxrechner muss so einiges an Konfiguration getan werden. Ich würde vermuten, dass Samba vorhanden ist (oder eben nicht!??!).
Zitat:
aber wenn die Meldung PERMISSION DENIED kommt, bedeutet es doch das das Verzeichnis gefunden wurde oder?
Nein, nicht im geringsten.

Mit smbmount muss der Windows-Share "richtig" gemounted werden, aber der Pfadname ist NICHT der Freigabename, sondern der Name des Linux-Ordners, in dem der Windows-Ordner "gemountet" wurde. Ist nicht so trivial wenn man das noch nie gesehen hat.


Hier gehts zum Orginal Eintrag "Zugriffe auf einen Ordner, Windows im Vergleich zu Linux" im Forum
 
phpforum.de | Impressum | Handy Bundles