2011-02-02 14 views
1

PHPでは、Windowsファイルサーバー上でファイルの名前を変更(移動/コピー)したい: "\ myserver \ folder1 \ folder2 \ myfile.pdf" に "\ MYSERVER \ folder1の\フォルダ2 \ OLD \のmyfile.pdf"Windowsファイルサーバー上のファイル名を変更する(uncパス)

(すべてのフォルダが既に存在しており、先のファイルが存在しない)

私はこれを試してみました:

copy("\\\\myserver\\folder1\\folder2\\myfile.pdf", "\\\\myserver\\folder1\\folder2\\OLD\\myfile.pdf"); 

copy("//myserver/folder1/folder2/myfile.pdf", "//myserver/folder1/folder2/OLD/myfile.pdf"); 

私は受け取る:その共有/フォルダにコピー/削除/移動/名前を変更する権限を持っているように私は/ユーザーの午前

[function.copy]: failed to open stream: Permission denied 

コンピュータは、ログイン。

私は何とかPHPの権限を与えたり、自分のユーザーとしてphpを実行する必要があると思いますか? OR?

答えて

0

PHPは、あなたのWebサーバーがどのようなユーザーとして実行されているとしても実行されます。そのフォルダのアクセス許可を、どのユーザーアカウントでも許可する必要があります。

+0

これは意味がありますが、私はApacheのWindowsサービスを「ローカルシステム」以外の別のユーザー(そのユーザーには許可があります)、または? –

+0

@Scott - そうですね、別のユーザーとしてapacheを実行させるのは意味があります。他のサーバー上のリソースにアクセスできるようにするには、おそらくドメインアカウントである必要があります。 –

+0

@Scott - ファイルコピーの代わりにFTPを使用する方法もあります。 –

0

いけないのコピーを使用して...使用は

代わりmove_uploadedこれは、フォームから画像を取得する一例である:あなたが

P.D.でそれを持っている場合はオフに

$img = 'sample.jpg; 
$path = '//nameofyourpcinyournetwork/sharedfolder/folderyoulike/'; 
$pathwithimg = $path.$img; 
if (!is_dir($path)) { 
    mkdir($path, 0644, TRUE); // TRUE for make it recursive 
} 
if (file_exists($pathwithimg)) { 
unlink($pathwithimg); 
move_uploaded_file($_FILES["file"]["tmp_name"], $pathwithimg); 
chmod($pathwithimg, 0644); 
} 

変更safe_modこの記事は5年前のことですが、有効回答と他の人(私のような人)はこの質問を見つけるかもしれません。

関連する問題