現在、ftpwebrequest を使用して、C# からサーバーに直接ファイルをアップロードしています。それは正常に動作します。ただし、ftp 資格情報をアプリケーションに保存することについて非常に懸念しているため、サーバー上の PHP ファイルにファイルをアップロードしたいと考えています。
さまざまなコード サンプルを調べましたが、実際に機能するものはありませんでした。私が現在のコードで気に入っているのは、他のコードでは提供されていないことですが、進行状況をバックグラウンド ワーカーに報告できることです。
私はこのコードを見つけました: C#
WebClient web = new WebClient();
try
{
web.UploadFile(Properties.Settings.Default.FtpAddress + "upload1.php", fileToUpload);
}
catch (Exception a)
{
MessageBox.Show(a.ToString());
}
PHP:
<?php
//check whether the folder the exists
$connection='ftp.mysite.com';
if(!(file_exists($connection)))
{
//create the folder
mkdir($connection);
//give permission to the folder
chmod($connection, 0777);
}
//check whether the file exists
if (file_exists($connection. $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
//move the file into the new folder
move_uploaded_file($_FILES["file"]["tmp_name"],$connection. $_FILES["file"]["name"]);
}
?>
ここで助けてほしいことが 2 つあります。まず、アップロード中に、ログインしていないという例外が発生します。php ファイルに資格情報を提供する必要があると思いますが、機能させることができませんでした。 .
次に、バックグラウンド ワーカー レポートの進行状況を確認するにはどうすればよいですか?