Because .inc style is deprecated and also dangerious as often not setup correctly on the server all .inc files have been renamed to .php files. All internall calls have been udpated.
47 lines
834 B
PHP
Executable File
47 lines
834 B
PHP
Executable File
<?php
|
|
|
|
namespace FileUpload\Core;
|
|
|
|
/**
|
|
* Handle file uploads via XMLHttpRequest
|
|
*/
|
|
class qqUploadedFileXhr
|
|
{
|
|
/**
|
|
* Save the file to the specified path
|
|
* @return boolean TRUE on success
|
|
*/
|
|
public function save($path)
|
|
{
|
|
$input = fopen("php://input", "r");
|
|
$temp = tmpfile();
|
|
$realSize = stream_copy_to_stream($input, $temp);
|
|
fclose($input);
|
|
|
|
if ($realSize != $this->getSize()) {
|
|
return false;
|
|
}
|
|
|
|
$target = fopen($path, "w");
|
|
fseek($temp, 0, SEEK_SET);
|
|
stream_copy_to_stream($temp, $target);
|
|
fclose($target);
|
|
|
|
return true;
|
|
}
|
|
public function getName()
|
|
{
|
|
return $_GET['qqfile'];
|
|
}
|
|
public function getSize()
|
|
{
|
|
if (isset($_SERVER["CONTENT_LENGTH"])) {
|
|
return (int)$_SERVER["CONTENT_LENGTH"];
|
|
} else {
|
|
throw new Exception('Getting content length is not supported.');
|
|
}
|
|
}
|
|
}
|
|
|
|
// __END__
|