Avatar
Elisse
Člen
Avatar
Elisse:

Zdravím, potřebuju v php číst soubor na síťovém disku a za boha nemůžu najít validní způsob jak s k němu dostat.

Zkoušel jsem snad vše možné ať namapované cesty z winu...

S:/dir/dir
S:\dir\dir
S:\dir/dir

tak obecné nenamapované

//server/dir/dir
////server/dir/dir
\\server\dir\dir ...

atp. atp.

A zaboha se mi to nedaří zprovoznit, tak hádám, že v tomhle problém nebude.
Při mapování z Windows se zadává normálně jméno heslo, tak hádám, že bude problém v tom, netuší někdo co s tím? :)

 
Odpovědět 14. října 12:35
Avatar
mkub
Redaktor
Avatar
Odpovídá na Elisse
mkub:

a skusil si nieco ako: protokol://ser­ver/dir"?
a navyse, ak chces pristupovat vzdialene k suborom na serveri, tak by tam musela bezat sluzba na zdielanie suborov (http/https, ftp/sftp, samba, nfs, ssh)
a takisto na serveri musi mat dany pocitac pravo na pristup k suborom a takisto aj uzivatel

 
Nahoru Odpovědět 14. října 12:47
Avatar
Elisse
Člen
Avatar
Odpovídá na mkub
Elisse:

No z Windows ten disk mám namapovaný a normálně používám.

Na tom stejném PC mi běží Apache odkud na něj potřebuju přistupovat z toho php scriptu.

protokol jsem žádný nezkoušel když se ten vzdálený systém používá přímo jako jednotlivé vzdálené disky

 
Nahoru Odpovědět 14. října 12:59
Avatar
NouF
Člen
Avatar
NouF:

vytvoř tomu ftp učet a používej FTP připojení

 
Nahoru Odpovědět 14. října 15:53
Avatar
Elisse
Člen
Avatar
Odpovídá na NouF
Elisse:

Nemůžu tomu vytvořit ftp účet, jde o síťové disky v práci, které ve správě nemám :/

 
Nahoru Odpovědět 14. října 15:55
Avatar
NouF
Člen
Avatar
NouF:

Tady jde o to, že apache má nejaké pole působnosti (nejakou šložku) ten disk máš venku. Apache může osahat jen to, co vidí. Tak uploaduj ty data do cloudu, google drive, dropbox atd.. Pak v PHP udělej script na ten cloud.

 
Nahoru Odpovědět  +1 14. října 16:05
Avatar
Elisse
Člen
Avatar
Odpovídá na NouF
Elisse:

No tak jakýkoliv lokální disk si můžu adresovat jak chci v C:\ D:\ atp. není žádný problém, nicméně síťové S:\ už problém je, takže to prostě žádným inteligentním způsobem namapovat přimo na ten disk nejde? :-O

 
Nahoru Odpovědět 14. října 16:19
Avatar
Petr Linhart
Člen
Avatar
Odpovídá na Elisse
Petr Linhart:

A co udělat symlink pro síťový disk s: do nějaké složky na c: a přistupovat k souborům přes ni?
Asi nějak takhle v cmd (potřebuje admin práva)

mklink /d "c:\data" "\\server\dir\"

respektive pokud se musíš při připojování přihlašovat tak pracuj s už přihlášeným/při­pojeným linkem

mklink /d "c:\data" "s:"
 
Nahoru Odpovědět 14. října 16:49
Avatar
Elisse
Člen
Avatar
Odpovídá na Petr Linhart
Elisse:

Jo to zní celkem pěkně :) Nicméně to nic nemění na otázce, zda to teda čistě jen v php nejde?

Našel jsem na netu spoustě návodů, že namapované disky z Windows nejdou ALE, napíšete v php \\server\\dir\\dir a fungujete, tak proč mě to prostě nejde :D

 
Nahoru Odpovědět 14. října 16:59
Avatar
Petr Linhart
Člen
Avatar
Odpovídá na Elisse
Petr Linhart:

Když v php napíšeš cestu \\server\dir zkusí se připojit, jenže neodesílá žádné autorizační údaje a proto se k disku vůbec nedostane. Tahle metoda samozřejmě funguje pokud jsou síťové disky sdílené bez nutnosti přihlašování jménem a heslem.
Pokud potřebuješ přístup přímo na tento disk tak existují třídy pro připojení na samba server z php, zkus mrknout na github a snad najdeš nějakou inspiraci.

Editováno 14. října 17:14
 
Nahoru Odpovědět 14. října 17:14
Avatar
Elisse
Člen
Avatar
Odpovídá na Petr Linhart
Elisse:

Hmm díky za osvětlení! :) Mrknu co se s tím dá dělat.

 
Nahoru Odpovědět 16. října 22:44
Avatar
Elisse
Člen
Avatar
Elisse:

Nakonec byl problém v tom, že se Apache spouští pod jiným System uživatelem, kde disky zkrátka nejsou namapované jako mám u sebe.

Vyřešeno tím, že jsem je namapoval v php scriptu :)

$WshNetwork = new COM("WScript.Net­work");
$WshNetwork->MapNetworkDri­ve("S:", '\\\\server\share', FALSE, 'username', 'password');

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět  +1 17. října 11:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.