0

私はウィンドウズでこのコマンドを持っていました:

exec('copy / V"'。$file。'""'。$dest。'"');

ここで、$ fileは、次の形式のWindowsドライブ内のREMOTEファイルです。

\\ server \ dr1 $ \ folder \ file
\\ server \ dr2 $ \ folder \ file
\\ server \ dr0 $ \ folder \ file
\\ server \ dr1 $ \ folder \ file2
\\ server \ dr1 $ \ folder \ file1

等々。また、宛先はサーバー内のローカルファイルです。ドライブは常に変化し、事前にはわからないことに注意してください(これらはdbの結果から得られます)。Windowsでは、すべてが正常で、実行されるコマンドは次のようになります(/ Vは、ファイルが正しくコピーされたことを確認するためのものです)。

/ V \\ server \ dr1 $ \ folder \ file c:\ users \ test\fileをコピーします

しかし、Linuxでそれを実行する方法がわかりません。

cp \\ server \ dr1 $ \ folder \ file / home / test / file

私は得る:

cp:統計できません'\\ server \ dr1 $ \ folder \ file':そのようなファイルまたはディレクトリはありません。

ありがとう、

ナノ。

4

2 に答える 2

0

ドライブとの間でコピーする前に、Samba/CIFSを使用してドライブをマウントする必要があります。

これは次のようになります。

mount -t cifs //servername/sharename ./mountpoint/
cp ./mntpoint/folder/file /home/test/file

これについてはかなりのドキュメントがあります。smbclientまたはcifsをグーグルで検索してみてください。

于 2011-03-21T22:06:38.820 に答える
0

PHP を使用してsmbclientコマンドを実行できます。smbclient は FTP とほとんど同じように動作します。PHP 側で役立つクラスがいくつかあります。

または、FUSE を介してユーザー空間にファイルシステムをマウントし ( https://serverfault.com/search?q=fuse+cifsを参照)、ファイルをコピーして、ドライブを再度アンマウントすることもできます。

于 2011-03-21T22:18:27.987 に答える