Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fc1dcdf
Folder structure
AdrianSerranoRojas Dec 16, 2021
5c719eb
Index structure nav and row
AdrianSerranoRojas Dec 16, 2021
e043a9b
create file and create folder
AdrianSerranoRojas Dec 17, 2021
635057b
Generate files and folders tree
AdrianSerranoRojas Dec 17, 2021
ab9ae86
link to folders
AdrianSerranoRojas Dec 17, 2021
2596e6a
Repeated
AdrianSerranoRojas Dec 17, 2021
e2df67e
add
Dec 17, 2021
878a748
generate files with link
AdrianSerranoRojas Dec 20, 2021
bde18c8
Create Files
AdrianSerranoRojas Dec 20, 2021
c331f2f
delete Files
Dec 20, 2021
e35e6db
deleting folder when are empty
Dec 20, 2021
7db703d
delete file, delete folder, create folder
AdrianSerranoRojas Dec 20, 2021
d6bf9fa
create folder try to rename v1
AdrianSerranoRojas Dec 20, 2021
2947996
Accordion V1
AdrianSerranoRojas Dec 20, 2021
5305981
nice icons, clicked files and folders
AdrianSerranoRojas Dec 21, 2021
237dd45
rename
AdrianSerranoRojas Dec 21, 2021
7204c3d
rename file
Dec 21, 2021
8d9f7bf
unfinish rename folder
Dec 21, 2021
ec5e5a3
search try v1
AdrianSerranoRojas Dec 21, 2021
8fc4050
Search string regex
AdrianSerranoRojas Dec 22, 2021
c6626b0
download Files
AdrianSerranoRojas Dec 22, 2021
716448f
finish delete files and folder
Dec 22, 2021
99c22ac
Merge branch 'master' of https://github.com/AdrianSerranoRojas/filesy…
Dec 22, 2021
618620b
join
Dec 22, 2021
ecb8d7e
join working
AdrianSerranoRojas Dec 22, 2021
76ad8a7
join working V2
AdrianSerranoRojas Dec 22, 2021
88f91dd
locate folder
AdrianSerranoRojas Dec 22, 2021
263f410
try delete nested folder
Dec 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
Binary file added FilesSystemExplorerDoc.docx
Binary file not shown.
348 changes: 348 additions & 0 deletions Index.php

Large diffs are not rendered by default.

60 changes: 60 additions & 0 deletions assets/css/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
.linkStyles:link{
color:black;
background-color: white;
z-index: 3;
text-decoration: none;
}
.linkStyles:visited{
color:black;
background-color: white;
z-index: 3;
text-decoration: none;
}
.linkStyles:hover{
color:black;
background-color: white;
z-index: 3;
text-decoration: none;
}
.linkStyles:active{
color:black;
background-color: white;
z-index: 3;
text-decoration: none;
}

body{
background-color: white;
}
.accordion-heading a.accordion-toggle {
display: inline-block !important;
}

.fa-folder{
color: orange;
}
.fa-file-word{
color: blue;
}
.fa-file-powerpoint{
color: tomato;
}
.fa-file-excel{
color: green;
}
.fa-file-image{
color: rgb(141, 73, 84) !important;
}

.selected-a{
background-color: rgba(166, 166, 218, 0.3) !important;
}

ul {
margin-left: 1em !important;
padding-left: 0 !important;
}

.accordion{
padding-left: 2rem;
}
Empty file added assets/js/script.js
Empty file.
90 changes: 90 additions & 0 deletions modules/copy.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<?php


if(isset( $_GET["fileName"])){
$root = $_GET["root"];
$fileName = $_GET["fileName"];
$inputNewName= "New".$fileName;
$oldName = ".".$root."/".$fileName;
// $newName = ".".$root."/".$inputNewName;
$newName = ".$root/$inputNewName";
copy($oldName,$newName);
header("Location:../index.php?root=$root&fileName=$inputNewName");
}

elseif(isset( $_GET["root"])){


$root = $_GET["root"];
$positionBar= strrpos($root,"/")+1;
echo "<br>";
echo $positionBar;
$stringPath = substr($root,0, $positionBar);
echo "<br>";
echo $stringPath;
$foldername = substr($root, $positionBar);
echo "<br>";
echo $foldername;
$inputNewName= ".".$stringPath."New". $foldername;
echo "<br>";

$oldName = ".".$root;
echo $inputNewName;
echo "<br>";
echo $oldName;

// copy($oldName,$inputNewName);
recurseCopy(".".$root, $inputNewName, $childFolder = ''
);
header("Location:../index.php?root=$inputNewName");

}

function recurseCopy(
string $sourceDirectory,
string $destinationDirectory,
string $childFolder = ''
): void {
$directory = opendir($sourceDirectory);

if (is_dir($destinationDirectory) === false) {
mkdir($destinationDirectory);
}

if ($childFolder !== '') {
if (is_dir("$destinationDirectory/$childFolder") === false) {
mkdir("$destinationDirectory/$childFolder");
}

while (($file = readdir($directory)) !== false) {
if ($file === '.' || $file === '..') {
continue;
}

if (is_dir("$sourceDirectory/$file") === true) {
recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file");
} else {
copy("$sourceDirectory/$file", "$destinationDirectory/$childFolder/$file");
}
}

closedir($directory);

return;
}

while (($file = readdir($directory)) !== false) {
if ($file === '.' || $file === '..') {
continue;
}

if (is_dir("$sourceDirectory/$file") === true) {
recurseCopy("$sourceDirectory/$file", "$destinationDirectory/$file");
}
else {
copy("$sourceDirectory/$file", "$destinationDirectory/$file");
}
}

closedir($directory);
}
19 changes: 19 additions & 0 deletions modules/createFile.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php
$root = $_GET["root"];
$fileNameS = $_POST["fileName"];
$fileExtension = $_POST["fileExtension"];
createFileFun($root, $fileNameS, $fileExtension);
function createFileFun($root, $fileNameS,$fileExtension){
echo "-he creado un nuevo archivo";
try{
$newFileName = ".".$root."/".$fileNameS.$fileExtension;
echo $newFileName;
$fileContent = "Hola soy el contenido";
$file= fopen($newFileName,"w");
fwrite($file,$fileContent);
fclose($file);
}catch(Throwable $t){
echo $t->getMessage();
}
header("Location:../index.php?root=$root");
}
17 changes: 17 additions & 0 deletions modules/createFolder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

try{
if(isset($_GET["root"])){
$dirPath = $_GET["root"];
$dirName = ".".$dirPath."/new_folder";
echo $dirName;
if(is_dir($dirName) === false){
mkdir ($dirName);
echo "hola";
}
}
}catch(Throwable $t){
echo $t->getMessage();
}
header("Location:../index.php?root=$dirPath&rename=new_folder");
?>
67 changes: 67 additions & 0 deletions modules/deleteFile.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php
if (isset($_GET["fileName"])){
$root=$_GET["root"];
$fileName=$_GET["fileName"];
$fileUnlink= ".".$root."/".$fileName;
unlink($fileUnlink);
header("Location:../index.php?root=$root");
}
else if(isset($_GET["root"])) {
$root=".".$_GET["root"];
//try{

deleteRecursive($root);






// rmdir(".".$root);
// if(is_dir(".".$root)){
// //throw new Exception("dont delete");
// header("Location:../index.php?error='FolderNotDeleted'");
// }
// else {
// header("Location:../index.php?error='FolderDeleted'");
// }
}


function deleteRecursive($root){
if ( is_dir( $root));
{
$gestor = opendir($root);

// $directorios = scandir($root);
// print_r( $directorios);
// print_r(count($directorios));
// if (count($directorios)<=2)
// {
// rmdir($root);
// }

while (($element = readdir($gestor)) !== false){
$ruta_completa= "$root/$element";
if ($element === '.' || $element === '..') {
continue;
}

if(is_dir($ruta_completa)){
$directoriosChild = scandir($ruta_completa);
if(count($directoriosChild) <=2){
rmdir($ruta_completa);
echo "si borro";

}
deleteRecursive($ruta_completa);
}

else{
unlink($ruta_completa);
}

}
closedir($gestor);
}
}
21 changes: 21 additions & 0 deletions modules/downloadFile.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

$fileRoot = $_GET["root"];
$fileName = $_GET["fileName"];
$file = ".".$fileRoot."/".$fileName;
echo "$file";
$fichero = $file;

if (file_exists($fichero)) {
echo "hola";
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($fichero).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($fichero));
readfile($fichero);
exit;
}
?>
37 changes: 37 additions & 0 deletions modules/generateFiles.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php
function generateFilesFun($ruta){
// Se comprueba que realmente sea la ruta de un directorio
if (is_dir($ruta)){
// Abre un gestor de directorios para la ruta indicada
$gestor = opendir($ruta);
echo "<ul class='fa-ul'>";
// Recorre todos los elementos del directorio
while (($archivo = readdir($gestor)) !== false) {
$ruta_completa = $ruta . "/" . $archivo;
// Se muestran todos los archivos y carpetas excepto "." y ".."
if ($archivo != "." && $archivo != "..") {
// Si es un directorio se recorre recursivamente
if (is_dir($ruta_completa)) {
if (isset($_GET["rename"])){
if($archivo == "new_folder"){
echo "<li ><a class='linkStyles' href="."./index.php?root=$ruta_completa&fileName=$archivo".">$archivo"."nuevo</a></li>","nuevo";
}else{
echo "<li><a class='linkStyles' href="."./index.php?root=$ruta_completa&fileName=$archivo".">$archivo</a></li>","algo nuevo";
}
}else{
echo "<li><i class='fa-li fas fa-folder'></i><a class='linkStyles' href="."./index.php?root=$ruta_completa&fileName=$archivo".">$archivo</a></li>";
}
// generateFilesFun($ruta_completa);
} else {
require_once("./modules/whatEsxtension.php");
isaFolder($archivo,$ruta);
}
}
}
// Cierra el gestor de directorios
closedir($gestor);
echo "</ul>";
} else {
echo "No es una ruta de directorio valida<br/>";
}
}
50 changes: 50 additions & 0 deletions modules/generateFoldersTree.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php
function generateFoldersTreeFun($ruta,$count){
// Se comprueba que realmente sea la ruta de un directorio
if (is_dir($ruta)){
// Abre un gestor de directorios para la ruta indicada
$gestor = opendir($ruta);
echo "<ul class='fa-ul'>";
// Recorre todos los elementos del directorio

while (($archivo = readdir($gestor)) !== false) {
$ruta_completa = $ruta . "/" . $archivo;
// Se muestran todos los archivos y carpetas excepto "." y ".."
if ($archivo != "." && $archivo != "..") {
// Si es un directorio se recorre recursivamente
if (is_dir($ruta_completa)) {
//<span class='material-icons-outlined'>folder</span> google icons
if (isset($_GET["root"])){
if($_GET["root"] == $ruta_completa){
echo "<li class='foldersTitle'>
<i class='fa-li fas fa-folder'></i>
<a class='linkStyles selected-a' href='./index.php?root=$ruta_completa'>$archivo</a>
</li>";
}else{
echo "<li class='foldersTitle'>
<i class='fa-li fas fa-folder'></i>
<a class='linkStyles' href='./index.php?root=$ruta_completa'>$archivo</a>
</li>";

}
}else{
echo "<li class='foldersTitle'>
<i class='fa-li fas fa-folder'></i>
<a class='linkStyles' href='./index.php?root=$ruta_completa'>$archivo</a>
</li>";

}

generateFoldersTreeFun($ruta_completa,$count);
} else {
//echo "<li>" . $archivo . "</li>";
}
}
}
// Cierra el gestor de directorios
closedir($gestor);
echo "</ul>";
} else {
echo "No es una ruta de directorio valida<br/>";
}
}
Loading