Home  >  Article  >  Backend Development  >  php+iframe implements hiding uploaded files without refreshing_PHP tutorial

php+iframe implements hiding uploaded files without refreshing_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:21:091107browse

First of all, ajax cannot upload files, which misled me for a while. I couldn’t sleep tonight, so I followed the instructions and uploaded files without refreshing

In fact, the principle is very simple

Copy code The code is as follows:






Compared with the general tag, there is one more target attribute That's all, used to specify where the tab page should be opened and submit data.

If this attribute is not set, the URL in the action will be redirected and opened on this page as usual.

And if it is set to the name value of the iframe, that is, "upload", it will be opened in the iframe. Because the CSS is set to hidden, there will be no movement. If you remove display:none, you will also see the return information from the server.

Also post the classes you organized.
Copy code The code is as follows:

class upload
{
public $_file;

public function __construct( $name =null)
{
if(is_null($name) || !isset($_FILES[$name]))
$name = key($_FILES);

if(!isset($_FILES[$name]))
throw new Exception("No file uploaded");

$this->_file = $_FILES[$ name];

if(!is_uploaded_file($this->_file['tmp_name']))
throw new Exception("Exception");
if($this-> _file['error'] !== 0)
throw new Exception("Error code:".$this->_file['error']);
}
public function moveTo( $new_dir )
{
$real_dir = $this->checkDir($new_dir);
return move_uploaded_file($this->_file['tmp_name'], $real_dir.'/'.$this- >_file['name']);
}
private function checkDir($dir)
{
$real_dir = realpath($dir);
if($real_dir === false)
throw new Exception("The given directory {$dir} does not exist");
if(!is_writable($real_dir))
throw new Exception("The given directory {$dir} is not available" Write ");
return $real_dir;
}}

Call example:
Copy code The code is as follows :

$inputName = 'uploadfile';
// That is, the name value in can be left blank
$upload = new upload($inputName);
$new_dir = "/www"; // The path to move the file to
$upload->moveTo($new_dir);

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324990.htmlTechArticleFirst of all, ajax cannot upload files, which misled me for a while. I couldn’t sleep tonight so I followed the instructions. The principle of uploading files without refreshing is actually very simple. Copy the code as follows: form encty...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn