Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

'PHP_SELF' refresh

Posted on 2008-10-15
3
Medium Priority
?
1,127 Views
Last Modified: 2013-12-13
i use 'PHP_SELF' for file upload. it works fine ,but when i refresh the php page, it reloade the file again.

please help me.
<html>
<FORM enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<P> <input type="file" name="file"/>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<INPUT type="submit" name="submit" value="UPLOAD"/>
</P>
</FORM>
</html>
<?php
 
   if(!empty($_POST['submit']))
{
 
$file_type = $_FILES['file']['type'];
$file_name = $_FILES['file']['name'];
 
 
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));
$FILE_MIMES = array('application/dbase','application/x-dbase','application/dbf','application/x-dbf','zz-application/zz-winassoc-dbf');
$FILE_EXTS = array('.dbf','.DBF');
 
 
 if (!in_array($file_type, $FILE_MIMES) && !in_array($file_ext, $FILE_EXTS) )
	{
echo "Sorry, $file_name($file_type) is not allowed to be uploaded.";
exit();
	}
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['file']['name']);
$_FILES['file']['tmp_name'];
	if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path))
{
 
    echo "The file ".  basename( $_FILES['file']['name']). " has been uploaded";
}
else
{
    echo "There was an error uploading the file, please try again!";
}
  }
 
?>

Open in new window

0
Comment
Question by:sudanshu
  • 2
3 Comments
 
LVL 6

Accepted Solution

by:
deresh earned 1500 total points
ID: 22719690
do a redirect to the same page after file has been downloaded.
You will lose info message after upload (refresh will be instant), so you may have put it in session to display after redirect.

add this after line 34 ( before the } ):

header("Location: ".$_SERVER['PHP_SELF']);
exit;

Open in new window

0
 

Author Comment

by:sudanshu
ID: 22719825
thanks  it works
0
 
LVL 6

Expert Comment

by:deresh
ID: 22720254
np
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
It’s a season to be thankful, and we’re thankful for users like you who engage on site, solve technology problems, and network with others in the industry. What tech are we most thankful for? Keep reading.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

886 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