Skip to content
WJunction - Webmaster Forum

[C#] File Upload + PHP - Discussion and Help

Status
Not open for further replies.
Hello, I'm new to C# so I created this thread to get help regarding this tool I was playing with :P

I don't need complete and working code posted here, I want help and code snippets.

This is what I want:
- File upload progress bar/dialog.
- Random file name generation.
- Dialog on upload finish, I couldn't get this working.

I already got this...

C# Code:
PHP:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;

namespace WindowsFormsApplication6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //
            string a;
            a = textSource.Text;
            System.Net.WebClient Client = new System.Net.WebClient();

            Client.Headers.Add("Content-Type", "binary/octet-stream");

            byte[] result = Client.UploadFile("http://xcoderz.net/test/upload.php", "POST", @a);

            string s = System.Text.Encoding.UTF8.GetString(result, 0, result.Length);
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog fdlg = new OpenFileDialog();
            fdlg.Title = "Open file...";
            fdlg.InitialDirectory = @"c:\";
            fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
            fdlg.FilterIndex = 2;
            fdlg.RestoreDirectory = true;
            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                textSource.Text = fdlg.FileName;
            }
        }
    }
}
PHP Uploaded file processor:
PHP:
<?php

$uploaddir = 'upload/';

if (is_uploaded_file($_FILES['file']['tmp_name'])) {

$uploadfile = $uploaddir . basename($_FILES['file']['name']);

echo "File ". $_FILES['file']['name'] ." uploaded successfully. ";

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {

echo "OKAY!";

}

else

print_r($_FILES);

}

else {

echo "ERROR!";

print_r($_FILES);

}

?>
 

3 comments

You need to use an uploading method that supports uploading in chunks, that's where you will get the progress bar information from ((sent bytes * 100) / total bytes).

This also includes Dialogue on Upload Finish - just make it show up when sent bytes >= total bytes.

Random file name generation should be an easy task too or are you looking for something specific?
The quick & dirty version would be creating a function that returns a string using the Random class.
For strings you can take a look at this:
Code:
http://www.c-sharpcorner.com/UploadFile/mahesh/RandomNumber11232005010428AM/RandomNumber.aspx

Let's hear if you need code examples or if this already put you on the right track :P
 
For all the stuff you want there are plenty of articles on Google that can help you. Most can be done in multiple ways. As for the random names, trust me, you don't want random names because they can conflict. You want a unique name. And that doesn't have to be random. This is one way of doing it in C#:

PHP:
string uniqueName = String.Format("{0:x}.ext", DateTime.Now.Ticks);
 
Status
Not open for further replies.

About the author

L
Active Member · Joined
4,052
Messages
713
Reactions
113
Points

Advertise on WJunction

Reach 1000's of webmasters, hosts & affiliates. Banner & sponsored-thread slots available.

Contact us
Back
Top Bottom