1

So I have this code:

<form name="form" action="./" method="post">
<input type="file" name="newfile" id="newfile" />
</form>

When I run this php script on the action page, nothing happens

echo "$_FILES['newfile']['name'];
print_r($_FILES);

It is like the $_FILES variable is empty. Is there any way to fix this?

3 Answers 3

4

You need to set the enctype="multipart/form-data" attribute on your form.

Example 1 from php.net:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
Sign up to request clarification or add additional context in comments.

Comments

2

If you don't specify <form … enctype="multipart/form-data"> then the data will be encoded in a way that doesn't support files.

Add the attribute with that value.

From the HTML specification:

enctype = content-type [CI]

This attribute specifies the content type used to submit the form to the server (when the value of method is "post"). The default value for this attribute is "application/x-www-form-urlencoded". The value "multipart/form-data" should be used in combination with the INPUT element, type="file".

From the PHP manual:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">

Comments

0
echo "$_FILES['newfile']['name'];

That's a syntax error. Should be

echo $_FILES['newfile']['name']; 

or

echo "{$_FILES['newfile']['name']}";

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.