Solved

Convert PHP to ASP

Posted on 2006-11-29
9
363 Views
Last Modified: 2010-04-06
This is probably a big ask but can anyone convert this PHP to ASP.  We only support ASP at the moment but this is a great HTTP Upload tool

Many thanks if it can be done.

Julie


<?php
    /* check for and loop through uploaded files */
    foreach ($_FILES as $name => $info) {
        /* chekc the file has a valid name */
        if (($info['name'] != 'ht.access' &&
            substr($info['name'], 0,1) != '.' &&
            $info['name'] != 'allowed_files')) {

            /* attempt to move the file to the uploaded_files directory */
            if (@move_uploaded_file($info['tmp_name'], "uploaded_files/files/{$info['name']}")) {
                /* get the contenst of the array of files */
                $file_arrays = @unserialize(@file_get_contents('uploaded_files/allowed_files'));        
     
                /* if there are more already 5 files, remove the oldest item fomr the array
                 * and delete it  
                 */
                if (count(@$file_arrays['files']) == 5) {
                    $name = array_shift($file_arrays['files']);
             
                    unset($file_arrays['types'][$name]);
                    @unlink('uploaded_files/files/' . $name);
                }

                /* add the new item to the arrays */
                $file_arrays['files'][] = $info['name'];
                $file_arrays['types'][$info['name']] = $info['type'];

                /* serialize the array and write it back to the file */
                if ($fhwnd = @fopen('uploaded_files/allowed_files', 'wb+')) {
                    fwrite($fhwnd, serialize($file_arrays));
                    fclose($fhwnd);
                }
            }          
        }    
    }
?>
<html>
    <head>
        <title>Form Post Dump</title>
    </head>
    <body>
        <?php if ($_POST): ?>
            <p>You submitted the following POST variables with the following names:</p>
            <ul><?php foreach($_POST as $name => $var) : ?>
                <li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
            <?php endforeach; ?></ul>
        <?php endif; ?>
        <?php if ($_GET): ?>
            <p>You submitted the following fariables with the query string:</p>
            <ul><?php foreach($_GET as $name => $var) : ?>
                <li><?php echo(htmlspecialchars($name)) ?> = <?php echo(htmlspecialchars($var)) ?></li>
            <?php endforeach; ?></ul>
        <?php endif; ?>
        <?php if ($_FILES): ?>
            <p>You submitted the following FILES:</p>
            <ul><?php foreach($_FILES as $name => $info): ?>
                <li>File name: <?php echo(htmlspecialchars($name)) ?>
            <ul>
                <li>Client file name: <?php echo(htmlspecialchars($info['name'])) ?></li>
                <li>File MIME type: <?php echo(htmlspecialchars($info['type'])) ?></li>
                <li>File size: <?php echo(htmlspecialchars($info['size'])) ?></li>
                <li>Download link: <a href="uploaded_files.php?file=<?php echo(htmlspecialchars($info['name'])) ?>"><?php echo(htmlspecialchars($info['name'])) ?></a></li>
            </ul>
            </li>
        </ul>
            <?php endforeach; ?></ul>
        <?php endif; ?>
        <form enctype="multipart/form-data" action="<?php echo($_SERVER['PHP_SELF']) ?>" method="post">
            <p>Variable1: <input type="text" name="variable1" /></p>
            <p>Variable2: <input type="text" name="variable2" /></p>
            <p>Variable3: <input type="text" name="variable3" /></p>
            <p>File: <input type="file" name="file1" /></p>
            <p><input type="submit" value="Post" /></p>
        </form>
    </body>
</html>
<?php
// vim: expandtab nowrap softtabstop=4 tabstop=4 shiftwidth=4
?>
0
Comment
Question by:jcwiatr
  • 4
  • 3
9 Comments
 
LVL 54

Accepted Solution

by:
b0lsc0tt earned 500 total points
Comment Utility
jcwiatr,

You are better off not trying to convert this script.  The main reason is you can't really convert it.  In the case of uploading files ASP does not handle things like PHP, in fact ASP doesn't really provide an upload file function/component like PHP does.  I personally recommend and use ASPUpload which is a very popular third party component you can install on you ASP server.  There is some information on it and other option for ASP in http:Q_22065191.html.  We can certainly help you implement one of these on your site but I wouldn't try to start from the PHP script above.  The html from that page is the only thing that would "convert" easily.

Let me know if you have any questions or need more information.

b0lsc0tt
0
 
LVL 16

Expert Comment

by:ThinkPaper
Comment Utility
look into the pure asp upload provided on that question b0lsc0tt provided - very easy to set up and use. =)
0
 
LVL 1

Author Comment

by:jcwiatr
Comment Utility
hi b0lsc0tt, abundance of info. thanks.
0
 
LVL 54

Expert Comment

by:b0lsc0tt
Comment Utility
Your welcome.  I'm glad that I could help.  However is the C grade an accident or did you still need some help?  From your last comment it would seem to be an accident.  If you still have questions or need help then just let me know.  It is nice to have the chance to earn the A.

bol
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 1

Author Comment

by:jcwiatr
Comment Utility
you are quite correct.  it was an accident indeed. EE is not very forgiving once a response is commited.  Do you know how I can change it ?
0
 
LVL 54

Expert Comment

by:b0lsc0tt
Comment Utility
LOL.  They forgive.  I'm glad to know that it was not intentional and you still needed help.  Post a message in Community Support (http://www.experts-exchange.com/Community_Support/).  No points are needed.  Ask for them to reopen the question so you can change the grade and copy this question's URL into the body.  A moderator will respond and reopen the question.  Let me know if you have a problem or any questions about doing this.

bol
0
 
LVL 1

Author Comment

by:jcwiatr
Comment Utility
ta.  will do.  I cannot currently create a ticket with no points so once this is resolved I will go through the process.  Thank-you.
0
 
LVL 54

Expert Comment

by:b0lsc0tt
Comment Utility
Your welcome!  Thanks for the extra work to get the grade corrected.  It was a fun question and I'm glad I could help.  PashaMod, thanks for the help!

bol
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
Shoutout to Emily Plummer (http://www.experts-exchange.com/members/eplummer26.html) for giving me this article! She did most of it, I just finished it up and posted it for her :)    Introduction In a previous article (http://www.experts-exchang…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now