PHP: Sådan overføres filer fra IBM (Unix) filsystem til Windows netværks deling?

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har en Windows-netværk andel af sige \sharedrive, men hvis jeg forsøger at gemme til det i PHP, fortæller jeg mig kun, at den ikke findes (selv om den virker fra min Windows-boks).


Vores IBM-fyr siger, at det skal fungere, men det gør jeg ikke. Jeg har prøvet forskellige kombinationer, og jeg har ingen eksempler i vores PHP-kode om noget der gør dette (til nogen del).


$share = '\\share\drive'; // or '//share/drive'
file\_put\_contents($share, 'blah');


IBM docs siger det 'Jeg skal bare arbejde som UNC ... men det gør det ikke ... så på dette tidspunkt er jeg ikke sikker på hvad jeg skal gøre.

Bedste reference


Har du monteret din winDoze-netværksandel på 'nix-filsystemet?' Bare fordi winDoze deler mappen, betyder det ikke, at andre ved, at det er der - du skal stadig montere biblioteket for din PHP-kode for at kunne se det .


BTW, dette er ikke et programmeringsspørgsmål, så det virkelig ikke hører hjemme her, du skal spørge ServerFault.





EDIT


Prøv dette: Åbn en shellprompt på dit IBM-system, og kør denne kommando:


find / -name "<drive>"


hvor <drive> er share name af Windows-netværk deling . Hvis find finder en placering for din netværksdeling, har du den vej, der skal bruges i dens output.


Hvis find returnerer et tomt resultatsæt, skal du køre mount ved shell prompt. Du får et output, der ser sådan ud:


/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type tmpfs (rw,relatime)
none on /dev/pts type devpts (rw,relatime)
none on /proc/sys/fs/binfmt\_misc type binfmt\_misc (rw,relatime)


Chancerne er ekstremt høje , som du ikke vil finde din netværksandel <drive> i denne liste. Det betyder at du skal montere netværket som en ressource på dit Unix-system. Der skal være en tom mappe (normalt /mnt), som du kan montere netværksdelingen på, læs siden mount for instruktioner.