Update from a long time
This commit is contained in:
59
php/uploadUrl.php
Normal file
59
php/uploadUrl.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', TRUE);
|
||||
ini_set('display_startup_errors', TRUE);
|
||||
|
||||
include 'fonction.php';
|
||||
|
||||
$max_size = convertToBytes('2GB');
|
||||
|
||||
$root = $_SERVER["DOCUMENT_ROOT"];
|
||||
|
||||
$target_dir = "$root/uploads/";
|
||||
|
||||
if(! isset($_GET["url"])) {
|
||||
header("HTTP/1.1 400 No given url");
|
||||
exit();
|
||||
}
|
||||
|
||||
$url = $_GET["url"];
|
||||
|
||||
$headers = get_headers($url, true);
|
||||
|
||||
$name = basename($url);
|
||||
|
||||
$size = $headers['Content-Length'];
|
||||
|
||||
if ((folderSize($target_dir) + $size) > $max_size) {
|
||||
header("HTTP/1.1 400 " . $name . " file too large");
|
||||
exit();
|
||||
}
|
||||
|
||||
if (! extension_loaded('mbstring')) {
|
||||
header("HTTP/1.1 500 php module missing");
|
||||
exit();
|
||||
}
|
||||
|
||||
if(! mb_check_encoding($name)) {
|
||||
header("HTTP/1.1 400 Bad encode");
|
||||
exit();
|
||||
}
|
||||
|
||||
$target_file = $target_dir.$name;
|
||||
|
||||
// Check if file already exists
|
||||
if (file_exists($target_file)) {
|
||||
header("HTTP/1.1 400 This file already exists");
|
||||
echo "This file already exists.";
|
||||
}
|
||||
else {
|
||||
if(file_put_contents($target_file, fopen($url, 'r'))) {
|
||||
echo "The File ".$name." of size ".formatBytes($size)." has been uploaded.";
|
||||
} else {
|
||||
header("HTTP/1.1 500");
|
||||
echo "There was an error uploading your file.";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Reference in New Issue
Block a user