In my recent project I had to upload a file to a PHP server from a
client application developed in C#. I found this method and I thought to
share this with you.
First you have to use the System.net
namespace. Then you have to create a webclient
object. Using the webclient
object you can upload your file to a PHP file in the server.
using System.Net;
WebClient cl = new WebClient();
try{
cl.UploadFile("http://" + ip + "/test.php", file);
}
catch(Exception e)
{
MessageBox.Show("Upload failed");
}
Now
you can access the file from the PHP file. In the below example I
create a folder in the server machine and move the file into the folder.
<?php
if(!(file_exists('C:/Users/dhanu-sdu/Desktop/test')))
{
mkdir('C:/Users/dhanu-sdu/Desktop/test');
chmod('C:/Users/dhanu-sdu/Desktop/test', 0777);
}
if (file_exists('C:/Users/dhanu-sdu/Desktop/test/'. $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],'C:/Users/dhanu-sdu/Desktop/test/'. $_FILES["file"]["name"]);
}
?>
Also, you can download data from a PHP server and display it in a C# web browser by using the following code.
WebClient cl = new WebClient();
try{
byte[] response = cl.DownloadData("http://" + ip +"/test.php");
webBrowser1.DocumentText = System.Text.ASCIIEncoding.ASCII.GetString(response);
}
catch(Exception e)
{
MessageBox.Show("Download failed");
}