La til felt for å skrive inn nytt filnavn og valg for å gjør fila privat
This commit is contained in:
parent
aa0a6c2e8c
commit
a9d59af593
89
index.php
89
index.php
@ -27,8 +27,16 @@ session_start();
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
background: url('img/sand.bmp');
|
background: url('img/sand.bmp');
|
||||||
}
|
}
|
||||||
|
form {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
.center {
|
.center {
|
||||||
margin: auto;
|
margin: auto;
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
.main{
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
input::file-selector-button {
|
input::file-selector-button {
|
||||||
font-family: "Pixelated MS Sans Serif",Arial;
|
font-family: "Pixelated MS Sans Serif",Arial;
|
||||||
@ -56,10 +64,15 @@ session_start();
|
|||||||
outline-offset: -4px;
|
outline-offset: -4px;
|
||||||
box-shadow: inset -1px 1px #cee7ff,inset 1px 2px #98b8ea,inset -2px 2px #bcd4f6,inset 1px -1px #89ade4,inset 2px -2px #89ade4;
|
box-shadow: inset -1px 1px #cee7ff,inset 1px 2px #98b8ea,inset -2px 2px #bcd4f6,inset 1px -1px #89ade4,inset 2px -2px #89ade4;
|
||||||
}
|
}
|
||||||
|
@media screen and (min-width: 600px) {
|
||||||
|
.main{
|
||||||
|
width: 600px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="window center" style="width: 800px">
|
<div class="window center main">
|
||||||
<div class="title-bar">
|
<div class="title-bar">
|
||||||
<div class="title-bar-text">Trygves filopplasting!</div>
|
<div class="title-bar-text">Trygves filopplasting!</div>
|
||||||
<div class="title-bar-controls">
|
<div class="title-bar-controls">
|
||||||
@ -67,49 +80,47 @@ session_start();
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="window-body">
|
<div class="window-body">
|
||||||
|
<p>Hei! Her kan du laste opp filer du ønsker å dele med andre, eller bare deg selv. Fra tid til annen sletter jeg filene her for for å spare plass så denne sida er kun for midlertidig fillagring.</p>
|
||||||
|
<a href="filer.trygve.net/offentlig">Her kan du bla gjennom alle offentlige filer</a>
|
||||||
|
<article>
|
||||||
<form action="upload.php" method="post" enctype="multipart/form-data">
|
<form action="upload.php" method="post" enctype="multipart/form-data">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="checkbox" id="privat">
|
<div class="field-row">
|
||||||
<label for="privat">Privat opplasting</label><br>
|
<label for="file">Velg fil</label>
|
||||||
<input type="file" name="file">
|
<input type="file" name="file" id="file">
|
||||||
<button type="submit">Last opp </button>
|
</div>
|
||||||
|
<div class="field-row">
|
||||||
|
<label for="name">Gi fila et nytt navn:</label>
|
||||||
|
<input name="new_filename" type="text" />
|
||||||
|
</div>
|
||||||
|
<div class="field-row">
|
||||||
|
<input type="checkbox" name="public" id="public_check">
|
||||||
|
<label for="public_check">Gjør fila søkbar</label>
|
||||||
|
<button type="submit">Last opp </button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
function popup($title, $message, $icon_name) {
|
||||||
|
return '<div class="window center" style="width: 300px" id="popup">
|
||||||
|
<div class="title-bar">
|
||||||
|
<div class="title-bar-text">' . $title . '</div>
|
||||||
|
<div class="title-bar-controls">
|
||||||
|
<button aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="window-body">
|
||||||
|
<p>'. $message . '</p>
|
||||||
|
<section class="field-row" style="justify-content: flex-end"><button onclick="document.getElementById(\'popup\').remove()">Ok</button></section>
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
if(isset($_SESSION['fileupload-response'])) {
|
if(isset($_SESSION['fileupload-response'])) {
|
||||||
$errorMSG = '
|
|
||||||
<div class="window" style="width: 300px">
|
|
||||||
<div class="title-bar">
|
|
||||||
<div class="title-bar-text">' .$_SESSION['filename'] . '</div>
|
|
||||||
<div class="title-bar-controls">
|
|
||||||
<button aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="window-body">
|
|
||||||
Hmmmm... Her var det visst noe som gikk galt.
|
|
||||||
<button>Ok</button>
|
|
||||||
</div>
|
|
||||||
</div>';
|
|
||||||
|
|
||||||
$bannedMSG = '
|
|
||||||
<div class="window" style="width: 300px">
|
|
||||||
<div class="title-bar">
|
|
||||||
<div class="title-bar-text">' . $_SESSION['filename'] . '</div>
|
|
||||||
<div class="title-bar-controls">
|
|
||||||
<button aria-label="Close"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="window-body">
|
|
||||||
Denne filtypen er forbudt!
|
|
||||||
<button>Ok</button>
|
|
||||||
</div>
|
|
||||||
</div>';
|
|
||||||
if($_SESSION['fileupload-response'] == "success") {
|
if($_SESSION['fileupload-response'] == "success") {
|
||||||
|
|
||||||
$successMSG = '
|
$successMSG = '
|
||||||
<div class="window" style="width: 300px">
|
<div class="window center" style="width: 300px">
|
||||||
<div class="title-bar">
|
<div class="title-bar">
|
||||||
<div class="title-bar-text">' . $_SESSION['filename'] . '</div>
|
<div class="title-bar-text">' . $_SESSION['filename'] . '</div>
|
||||||
<div class="title-bar-controls">
|
<div class="title-bar-controls">
|
||||||
@ -117,10 +128,10 @@ session_start();
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="window-body">
|
<div class="window-body">
|
||||||
'
|
<p>'
|
||||||
. $_SESSION['linkData'] .
|
. $_SESSION['linkData'] .
|
||||||
'
|
'</p>
|
||||||
<button type="button" class="btn btn-primary" onclick="copyToClipboard(\'' . $_SESSION['link'] . '\')">Kopier lenke</button>
|
<section class="field-row" style="justify-content: flex-end"><button onclick="copyToClipboard(\'' . $_SESSION['link'] . '\')">Kopier lenke</button></section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
';
|
';
|
||||||
@ -128,10 +139,10 @@ session_start();
|
|||||||
echo($successMSG);
|
echo($successMSG);
|
||||||
}
|
}
|
||||||
elseif ($_SESSION['fileupload-response'] == "failed") {
|
elseif ($_SESSION['fileupload-response'] == "failed") {
|
||||||
echo($errorMSG);
|
echo(popup($_SESSION['filename'], 'Oisan, noe gikk vist galt!', 'ERROR'));
|
||||||
}
|
}
|
||||||
elseif ($_SESSION['fileupload-response'] == "banned") {
|
elseif ($_SESSION['fileupload-response'] == "banned") {
|
||||||
echo($bannedMSG);
|
echo(popup($_SESSION['filename'], 'Stoppe en hall! Denne filtypen er forbudt!', 'ERROR'));
|
||||||
}
|
}
|
||||||
session_destroy();
|
session_destroy();
|
||||||
}
|
}
|
||||||
|
98
upload.php
98
upload.php
@ -1,59 +1,67 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
ini_set('display_errors', '1');
|
ini_set('display_errors', '1');
|
||||||
ini_set('display_startup_errors', '1');
|
ini_set('display_startup_errors', '1');
|
||||||
error_reporting(E_ALL);
|
if(isset($_FILES['file'])) {
|
||||||
|
$file = $_FILES['file'];
|
||||||
|
|
||||||
if(isset($_FILES['file'])) {
|
$fileName = $_FILES['file']['name'];
|
||||||
$file = $_FILES['file'];
|
$file_name = $file['name'];
|
||||||
|
$file_tmp = $file['tmp_name'];
|
||||||
|
$file_size = $file['size'];
|
||||||
|
$file_error = $file['error'];
|
||||||
|
$fileError = $_FILES['file']['error'];
|
||||||
|
$_SESSION['filename'] = $fileName;
|
||||||
|
|
||||||
$fileName = $_FILES['file']['name'];
|
|
||||||
$file_name = $file['name'];
|
|
||||||
$file_tmp = $file['tmp_name'];
|
|
||||||
$file_size = $file['size'];
|
|
||||||
$file_error = $file['error'];
|
|
||||||
$fileError = $_FILES['file']['error'];
|
|
||||||
$_SESSION['filename'] = $fileName;
|
|
||||||
|
|
||||||
$file_destination = 'filer/' . $file_name;
|
$fileExt = explode('.', $fileName);
|
||||||
|
$fileActualExt = strtolower(end($fileExt));
|
||||||
|
|
||||||
$fileExt = explode('.', $fileName);
|
$banned = array('php', 'js', 'php5', 'pht', 'phtml', 'shtml', 'asa', 'cer', 'asax', 'swf');
|
||||||
$fileActualExt = strtolower(end($fileExt));
|
$allowed = array('zip', 'gz', 'tar', 'png', 'jpg', 'bmp', 'html', 'htm');
|
||||||
|
|
||||||
$banned = array('php', 'js', 'php5', 'pht', 'phtml', 'shtml', 'asa', 'cer', 'asax', 'swf');
|
foreach ($banned as $url) {
|
||||||
$allowed = array('zip', 'gz', 'tar', 'png', 'jpg', 'bmp', 'html', 'htm');
|
if (strpos($fileActualExt, $url) !== FALSE) {
|
||||||
|
$fileError = 2;
|
||||||
foreach ($banned as $url) {
|
|
||||||
if (strpos($fileActualExt, $url) !== FALSE) {
|
|
||||||
$fileError = 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($file_name === 'index.htm' || $file_name === 'index.html') {
|
|
||||||
$fileError = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($fileError == 0)
|
|
||||||
{
|
|
||||||
if(move_uploaded_file($file_tmp, $file_destination))
|
|
||||||
{
|
|
||||||
$path = 'https://trygve.me/filopplasting/' . $file_destination;
|
|
||||||
$filLink = '<a href=" ' . $path . '" class="alert-link">' . $path . '</a>';
|
|
||||||
//echo $fillink;()
|
|
||||||
$buttonData = 'Filen ble lastet opp! <a href="' . $filLink . '" class="btn btn-info">Kopier lenke</a>';
|
|
||||||
$_SESSION['linkData'] = 'Filen ble lastet opp! ' . $filLink;
|
|
||||||
$_SESSION['link'] = $path;
|
|
||||||
$_SESSION['fileupload-response'] = 'success';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif($fileError === 2)
|
|
||||||
|
if ($file_name === 'index.htm' || $file_name === 'index.html') {
|
||||||
|
$fileError = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($_POST['new_filename'])) {
|
||||||
|
$file_name = $_POST['new_filename'] . '.' .$fileActualExt;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_POST['public'] == True) {
|
||||||
|
$file_destination = 'offentlig/' . $file_name;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$file_destination = 'privat/' . $file_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($fileError == 0)
|
||||||
|
{
|
||||||
|
if(move_uploaded_file($file_tmp, $file_destination))
|
||||||
{
|
{
|
||||||
$_SESSION['fileupload-response'] = 'banned';
|
$path = 'https://trygve.me/filopplasting/' . $file_destination;
|
||||||
}
|
$filLink = '<a href=" ' . $path . '" class="alert-link">' . $path . '</a>';
|
||||||
else
|
//echo $fillink;()
|
||||||
{
|
$buttonData = 'Filen ble lastet opp! <a href="' . $filLink . '" class="btn btn-info">Kopier lenke</a>';
|
||||||
$_SESSION['fileupload-response'] = 'failed';
|
$_SESSION['linkData'] = 'Filen ble lastet opp! ' . $filLink;
|
||||||
|
$_SESSION['link'] = $path;
|
||||||
|
$_SESSION['fileupload-response'] = 'success';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
elseif($fileError === 2)
|
||||||
|
{
|
||||||
|
$_SESSION['fileupload-response'] = 'banned';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$_SESSION['fileupload-response'] = 'failed';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
header("location:../filopplasting");
|
header("location:../filopplasting");
|
||||||
|
Loading…
Reference in New Issue
Block a user