Diskuze: Čtení souboru na síťovém disku
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
a skusil si nieco ako: protokol://server/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
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
Nemůžu tomu vytvořit ftp účet, jde o síťové disky v práci, které ve správě nemám :/
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?
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řipojeným linkem
mklink /d "c:\data" "s:"
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
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.
Hmm díky za osvětlení! Mrknu co se s tím dá dělat.
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.Network");
$WshNetwork->MapNetworkDrive("S:", '\\\\server\share', FALSE, 'username',
'password');
Zobrazeno 12 zpráv z 12.