Browse Source

File Upload lesson

master
Jakub Škrabánek 2 years ago
parent
commit
c4ff0a2333
  1. 22
      uploadfiles/index.php
  2. 16
      uploadfiles/list.php
  3. 37
      uploadfiles/upload.php
  4. BIN
      uploadfiles/uploads/Snímek obrazovky 2023-03-01 v 09.24.34.png
  5. 51
      uploadfiles/uploads/nk_db.sql
  6. 51
      uploadfiles/uploads/u447 (1).sql

22
uploadfiles/index.php

@ -0,0 +1,22 @@
<?php
$title = "File Upload";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> <?php echo $title;?> </title>
</head>
<body>
<h1><?php echo $title;?></h1>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="uploadFile">Soubor k nahrání:</label>
<input type="file" name="uploadFile" id="uploadFile"><br><br>
<input type="submit" value="Nahrát Soubor">
</form>
</body>
</html>

16
uploadfiles/list.php

@ -0,0 +1,16 @@
<?php
$dir = "uploads/";
$list1 = scandir($dir);
array_shift($list1);
array_shift($list1);
echo "<ul>";
foreach ($list1 as $item) {
echo "<li>";
echo "<a href=\"uploads/$item\"> $item </a>";
echo "</li>";
}
echo "</ul>";
?>

37
uploadfiles/upload.php

@ -0,0 +1,37 @@
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["uploadFile"]["name"]);
$uploadOk = 1;
$uploadFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// ověření jestli soubor existuje
if (file_exists($target_file)) {
echo "Soubor již existuje";
$uploadOk = 0;
}
// ověření jesti soubor překřekračuje limit velikosti
if ($_FILES["uploadFile"]["size"] > 500000) {
echo "Soubor je příliš veliký";
$uploadOk = 0;
}
//ověření na určitý typ souboru
if ($uploadFileType != "sql" && $uploadFileType != "txt") {
echo "nepodporovaný typ souboru";
$uploadOk = 0;
}
//konečná fáze nahrávání
if ($uploadOk == 0) {
echo "<br>Nastala chyba při nahrávání";
} else {
if (move_uploaded_file($_FILES["uploadFile"]["tmp_name"],$target_file)){
echo "<br>Soubor ". htmlspecialchars(basename($_FILES["uploadFile"]["name"]))
. " byl nahrán";
}
else {
echo "<br>Objevila se chyba při nahrávání";
}
}

BIN
uploadfiles/uploads/Snímek obrazovky 2023-03-01 v 09.24.34.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

51
uploadfiles/uploads/nk_db.sql

@ -0,0 +1,51 @@
-- Adminer 4.7.6 MySQL dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `nk_log`;
CREATE TABLE `nk_log` (
`id` int(11) NOT NULL,
`id_nk_users` int(11) unsigned NOT NULL,
`logintime` datetime NOT NULL,
KEY `id_nk_users` (`id_nk_users`),
CONSTRAINT `nk_log_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
DROP TABLE IF EXISTS `nk_prispevky`;
CREATE TABLE `nk_prispevky` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_nk_users` int(11) unsigned NOT NULL,
`title` varchar(128) COLLATE utf8_czech_ci NOT NULL,
`msg` text COLLATE utf8_czech_ci NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `id_nk_users` (`id_nk_users`),
CONSTRAINT `nk_prispevky_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
INSERT INTO `nk_prispevky` (`id`, `id_nk_users`, `title`, `msg`, `created`) VALUES
(1, 3, 'Lorem 1', 'Lorem Ipsum supres', '2023-03-01 23:36:52'),
(2, 2, 'Lorem 11', 'Lorem ipsumus loremos spravenost', '2023-03-01 23:37:30'),
(3, 2, 'Lorem 12', 'Luromes jolontos procentos', '2023-03-01 23:37:40');
DROP TABLE IF EXISTS `nk_users`;
CREATE TABLE `nk_users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8_czech_ci NOT NULL,
`password` varchar(64) COLLATE utf8_czech_ci NOT NULL,
`role` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
INSERT INTO `nk_users` (`id`, `username`, `password`, `role`) VALUES
(1, 'admin', 'admin', 1),
(2, 'user1', 'user1', 5),
(3, 'user2', 'user2', 5),
(4, 'mod1', 'mod1', 3),
(5, 'mod2', 'mod2', 3);
-- 2023-03-09 08:04:08

51
uploadfiles/uploads/u447 (1).sql

@ -0,0 +1,51 @@
-- Adminer 4.7.6 MySQL dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `nk_log`;
CREATE TABLE `nk_log` (
`id` int(11) NOT NULL,
`id_nk_users` int(11) unsigned NOT NULL,
`logintime` datetime NOT NULL,
KEY `id_nk_users` (`id_nk_users`),
CONSTRAINT `nk_log_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
DROP TABLE IF EXISTS `nk_prispevky`;
CREATE TABLE `nk_prispevky` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_nk_users` int(11) unsigned NOT NULL,
`title` varchar(128) COLLATE utf8_czech_ci NOT NULL,
`msg` text COLLATE utf8_czech_ci NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `id_nk_users` (`id_nk_users`),
CONSTRAINT `nk_prispevky_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
INSERT INTO `nk_prispevky` (`id`, `id_nk_users`, `title`, `msg`, `created`) VALUES
(1, 3, 'Lorem 1', 'Lorem Ipsum supres', '2023-03-01 23:36:52'),
(2, 2, 'Lorem 11', 'Lorem ipsumus loremos spravenost', '2023-03-01 23:37:30'),
(3, 2, 'Lorem 12', 'Luromes jolontos procentos', '2023-03-01 23:37:40');
DROP TABLE IF EXISTS `nk_users`;
CREATE TABLE `nk_users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8_czech_ci NOT NULL,
`password` varchar(64) COLLATE utf8_czech_ci NOT NULL,
`role` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;
INSERT INTO `nk_users` (`id`, `username`, `password`, `role`) VALUES
(1, 'admin', 'admin', 1),
(2, 'user1', 'user1', 5),
(3, 'user2', 'user2', 5),
(4, 'mod1', 'mod1', 3),
(5, 'mod2', 'mod2', 3);
-- 2023-03-02 08:11:56
Loading…
Cancel
Save