0

たくさんのlinuixサーバーとWindowsサーバーがあります。

Windowsデスクトップでは、すべての共有を確認できます。

PHPを使用して、UNCパスを使用してWindows共有上のディレクトリにファイルを書き込もうとしています。

//ServerShare/directory/file.txt

を使用するfwriteと、ファイルは正常に書き込まれましたが、ファイルがサーバーに存在することはありません。

関数を使用opendirすると、ディレクトリにアクセスできなくなります。

これは非常に単純なソースです。

 $file_name = "\\SERVER2\Share\CPI\data.txt";

if (!$handle = fopen($file_name, 'w')) {
     echo "Cannot open file ($file_name)";
     exit;
}

// Write $somecontent to our opened file.
$somecontent = "this is a test";
if (fwrite($handle, $somecontent) === FALSE) {
    echo "Cannot write to file ($filename)";
    exit;
}

echo "Success, wrote ($somecontent) to file ($file_name)";

fclose($handle);

LinuxボックスがWindowsボックスにファイルを書き込めるようにするには、どのタイプのアクセス許可を設定する必要があるかについて何か考えはありますか?

4

1 に答える 1

1

ファイル共有をローカルディレクトリにマウントする必要があります。

mount -f smbfs //user@server2/Share/CPI/Data.txt /media/share

/media/share/Share/CPI/Data.txt次に、PHPスクリプトからアクセスします。

PHPは、共有が公開されている場合でも、共有に対して認証する必要があり、これを使用するfopenopendirしないかを指定します。

于 2012-08-15T14:27:08.367 に答える