<?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.";
	}
}

?>
