Skip to content

Commit 2010de1

Browse files
Add files via upload
1 parent 477e07b commit 2010de1

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

tube.php

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<?php
2+
3+
$databaseName = "DATABASE_NAME_GOES_HERE";
4+
$admin = "MYSQL_USERNAME_GOES_HERE";
5+
$password = "PASSWORD_GOES_HERE";
6+
$tableName = "TABLE_NAME_GOES_HERE";
7+
8+
$mysqliConnection = new mysqli("localhost", $admin, $password, $databaseName);
9+
10+
function echoJSON($databaseName, $admin, $password, $tableName, $connection) {
11+
12+
$mysqli = $connection;
13+
$query = "SELECT * FROM $tableName;";
14+
$result = $mysqli->query($query);
15+
$movieCount = 0;
16+
while ($row = $result->fetch_assoc()) {
17+
$movieCount++;
18+
$movie[$movieCount]['title'] = $row['title'];
19+
$movie[$movieCount]['filename'] = $row['filename'];
20+
}
21+
if ($movieCount >= 1) {
22+
echo "{";
23+
echo "\"movies\": [";
24+
for ($i = $movieCount; $i >= 1; $i--) {
25+
echo "{";
26+
echo "\"title\":\"{$movie[$i]['title']}\",";
27+
echo "\"filename\":\"{$movie[$i]['filename']}\"";
28+
echo "}";
29+
if ($i > 1) {
30+
echo ",";
31+
}
32+
}
33+
echo "]";
34+
echo "}";
35+
}
36+
// $mysqli->close();
37+
}
38+
39+
function uploadFile($databaseName, $admin, $password, $tableName, $connection) {
40+
41+
$mysqli = $connection;
42+
43+
$fileTitle = $_POST['file2'];
44+
$fileName= $_FILES["file1"]["name"];
45+
$fileTime = time();
46+
$fileTmpLoc = $_FILES["file1"]["tmp_name"];
47+
$fileType = $_FILES["file1"]["type"];
48+
$fileSize = $_FILES["file1"]["size"];
49+
$fileErrorMsg = $_FILES["file1"]["error"];
50+
if (!$fileTmpLoc) {
51+
echo "PC LOAD LETTER"; // no file selected before submitting AJAX POST Request
52+
exit();
53+
}
54+
if(move_uploaded_file($fileTmpLoc, "$fileName")) { // the second parameter can include a path to specify a location. example: "movies/$fileName"
55+
// ------------------------------------------------------------------------------------------------
56+
/*
57+
echo "UPLOAD COMPLETE: $fileName uploaded successfully"; // $fileName uploaded successfully
58+
mysql_connect('localhost', $admin, $password);
59+
mysql_select_db($databaseName) or die("Unable to select database");
60+
$query = "INSERT INTO $tableName VALUES (\"$fileTime\", \"$fileTitle\", \"$fileName\");";
61+
mysql_query($query);
62+
mysql_close($databaseName);
63+
// ------------------------------------------------------------------------------------------------
64+
$oldFileName = basename($_FILES["file1"]["name"]);
65+
$newFileName = substr($oldFileName, 0, strrpos($oldFileName, '.'));
66+
$newestFileName = $newFileName . ".html";
67+
$myfile = fopen("$newestFileName", "w") or die("Unable to open file!");
68+
$txt = "<center><video class=\"videoClass\" src=\"$oldFileName\" controls></video></center>";
69+
fwrite($myfile, $txt);
70+
fclose($myfile);
71+
*/
72+
// ------------------------------------------------------------------------------------------------
73+
echo "UPLOAD COMPLETE: $fileName uploaded successfully"; // $fileName uploaded successfully
74+
75+
$query = "INSERT INTO $tableName (title, filename) VALUES (\"$fileTitle\", \"$fileName\");";
76+
$mysqli->query($query);
77+
78+
$oldFileName = basename($_FILES["file1"]["name"]);
79+
$newFileName = substr($oldFileName, 0, strrpos($oldFileName, '.'));
80+
$newestFileName = $newFileName . ".html";
81+
$myfile = fopen("$newestFileName", "w") or die("Unable to open file!");
82+
$txt = "<center><video class=\"videoClass\" src=\"$oldFileName\" controls></video></center>";
83+
fwrite($myfile, $txt);
84+
fclose($myfile);
85+
86+
} else {
87+
echo "PC LOAD LETTER"; // move_uploaded_file function failed
88+
}
89+
}
90+
91+
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
92+
echoJSON($databaseName, $admin, $password, $tableName, $mysqliConnection);
93+
} else if ($_SERVER['REQUEST_METHOD'] === 'POST') {
94+
uploadFile($databaseName, $admin, $password, $tableName, $mysqliConnection);
95+
96+
// bubble sort & delete oldest movie
97+
// Create a Multi Dimensional Array of Movie Data (time, title, filename)
98+
$mysqli = $mysqliConnection;
99+
$query = "SELECT * FROM $tableName;";
100+
$result = $mysqli->query($query);
101+
$movieCount = 0;
102+
while ($row = $result->fetch_assoc()) {
103+
global $movieCount;
104+
$movieCount++;
105+
$movie[$movieCount]['time'] = $row['time'];
106+
$movie[$movieCount]['title'] = $row['title'];
107+
$movie[$movieCount]['filename'] = $row['filename'];
108+
}
109+
// $mysqli->close();
110+
111+
if ($movieCount >= 9) {
112+
// bubble sort $movie[]['time'] to retrieve oldest movie unix epoch time
113+
$keepSorting = true;
114+
while ($keepSorting == true) {
115+
global $movie;
116+
$keepSorting = false;
117+
for ($i = 1; $i < $movieCount; $i++) {
118+
$a = $i;
119+
$b = $i + 1;
120+
if ($movie[$a]['time'] > $movie[$b]['time']) {
121+
global $keepSorting;
122+
$keepSorting = true;
123+
$placeholder = $movie[$b]['time'];
124+
$movie[$b]['time'] = $movie[$a]['time'];
125+
$movie[$a]['time'] = $placeholder;
126+
}
127+
}
128+
}
129+
$oldestMovie = $movie[1]['time'];
130+
$mysqli = $mysqliConnection;
131+
$query = "SELECT filename FROM $tableName WHERE time = $oldestMovie;";
132+
$result = $mysqli->query($query);
133+
$resultArray = $result->fetch_assoc();
134+
$mp4filename = $resultArray['filename'];
135+
$baseFileName = substr($mp4filename, 0, strrpos($mp4filename, '.'));
136+
$hyperTextFileName = $baseFileName . ".html";
137+
unlink($mp4filename); // DELETE MP4 FILE FROM FILESYSTEM
138+
unlink($hyperTextFileName); // DELETE HTML FILE FROM FILE SYSTEM
139+
$query = "DELETE FROM $tableName WHERE time = $oldestMovie;"; // DELETE FROM DATABASE
140+
$mysqli->query($query);
141+
// $mysqli->close();
142+
} // movies sorted, oldest deleted
143+
}
144+
?>

0 commit comments

Comments
 (0)