Üdv!
Fáradt vagyok, nem tudom mit csinálok.
Szóval.
Kezdõ PHP-s vagyok, és éppen ezért tanulgatom, kísérletezgetek a phpval.
Egyszer csináltam egy olyat nagynehezen, hogy kilistázza a mappában lévõ fájlokat, és rá lehet kattintani. Viszont ez önmagában csak pár sor volt, nem is tudott sokat, csak egy mappába tudott belépni, azon belül pedig semmit. Gondoltam továbbfejlesztem, kísérletezgettem jó sokat, végül eljutottam odáig, hogy egy komplett fájlkezelõ rendszert összedobtam. A fájlokat nem instant nyitja meg, hanem annak is van csinálva egy kis \"doboz\"
Ez az elsõ \"komolyabb\" scriptem, lehet hogy rohadtúl egyszerûbben is meglehetett volna csinálni, meg lehet, hogy pazarolok <--- ezeket kérem hsz-ban!
A fájl és mappameghatározási funkció nem tökéletes
Készítõ: Én
Készítési idõ: unknown
KÉPEK!! :
http://nukerdog.tk/fSystem/Ismert hiba:
valamiért rossz karakterkódolásban includeolja be a fájlokat, vagy nem tudom mi a baja, de az ékezetes karakterek olvashatatlanok
Mappákon belül nem lehet rákattintani a ceruza jelre
Vélemény?
v0.2:
táblázatban: fájl törlése, fájl szerkesztése, fájlnév, fájl infók
képek helyes beszúrása
elõzmények (hol járkáltál
)
lábléc a fájlok kilistázásánál
linkek formázása
magyarázatok
Nem nagy dolog, de jóval hosszabb a kód, sokat dolgoztam vele.
Várható update:
fájl szerkesztése
fájl információk
képek méret szerinti beszúrása
kiírja, ha üres a mappa
hibajavítás
mappa / fájl nevének átírása
sampforum téma újraírása
Spoiler for V0.1 kód:
<style>
div#box {
background: #fb0;
width: 50%;
padding: 10px;
border: #000 solid 3px;
border-radius: 20px;
padding-top:0;
}
</style>
<div id=\"box\">
<?php
if(!isset($_GET[\"folder\"])) $dir = scandir(\"../htdocs\");
else $dir = scandir($_GET[\'folder\']);
if(!isset($_GET[\"file\"])) {
for($i = 0; $i < count($dir); $i++) {
if(!isset($_GET[\"folder\"])) {
if(strpos($dir[$i],\".\")) print(\"<br/><a href=\\\"?file=\".$dir[$i].\"\\\">\".$dir[$i].\"</a>\");
else { print(\"<br/><a href=\\\"?folder=\".$dir[$i].\"\\\">\".$dir[$i].\"</a>\"); }
} else {
if(strpos($dir[$i],\".\")) print(\"<br/><a href=\\\"?file=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a>\");
else { print(\"<br/><a href=\\\"?folder=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a>\"); }
}
}
} else {
echo \"<h1>\".$_GET[\"file\"].\"</h1><br><a href=\'index.php\'><- Go back</a><hr>\";
include($_GET[\'file\']);
}
?>
</div>
v0.2 kód:
<?php
if(!isset($_GET[\"folder\"])) $dir = scandir(\"../htdocs\"); //a htdocs-t írd át a fájlt tartalmazó mappa helyére!!
else $dir = scandir($_GET[\'folder\']);
?>
<style>
div#box {
background: #fb0;
width: 80%;
padding: 10px;
border: #000 solid 3px;
border-radius: 20px;
margin: 20px auto;
}
a {
color: blue;
text-decoration: none;
}
a:hover {
color: white;
text-decoration: underlined;
}
</style>
<div id=\"box\"><center><b>Elõzmények: <?php if(isset($_GET[\"folder\"])) { echo $_GET[\"folder\"]; } ?></b></center></div>
<div id=\"box\">
<?php
$vers = \"0.2\";
if(isset($_GET[\"delfile\"])) { // HA TÖRLÜNK EGY FÁJLT
if(empty($_GET[\"delfile\"])) die(\"Nincs beállítva mappa / fájl.\");
if(!isset($_GET[\"itsafolder\"])) { // HA NEM EGY MAPPA
if(is_dir($_GET[\"delfile\"])) die(\"Ez egy mappa -.-\\\"\");
if(!file_exists($_GET[\"delfile\"])) die(\"A megadott fájl (\".$_GET[\"delfile\"].\") nem létezik!\"); // HA A FÁJL NEM LÉTEZIK
if(!isset($_GET[\"ok\"])) // HA NINCS MEGERÕSITVE
die (\'Biztosan törölni szeretnéd a következõ fájlt:\'.$_GET[\"delfile\"].\' ?<br><a href=\"?delfile=\'.$_GET[\"delfile\"].\'&ok\">Kattints ide a fájl törléséhez</a>\');
else { // HA MEG VAN ERÕSITVE
unlink($_GET[\"delfile\"]);
die(\'A fájl sikeresen letörölve.<br><a href=\"index.php\"><- Go back</a>\');
}
} else { //HA EGY NMAPPA
if(!file_exists($_GET[\"delfile\"])) die(\"A megadott mappa (\".$_GET[\"delfile\"].\") nem létezik!\"); // HA A FÁJL NEM LÉTEZIK
$vanbenne_ = scandir($_GET[\"delfile\"]);
$vanbenne = count($vanbenne_)-2;
if(!isset($_GET[\"ok\"])) { // HA NINCS MEGERÕSITVE
if($vanbenne == 0) die (\'A mappa üres. Biztosan törölni szeretnéd ezt:\'.$_GET[\"delfile\"].\' ?<br><a href=\"?delfile=\'.$_GET[\"delfile\"].\'&ok\">Kattints ide a fájl törléséhez</a>\'); else die (\'FIGYELEM! A MAPPA NEM ÜRES (\'.$vanbenne.\'db)!!! Biztosan törölni szeretnéd ezt:\'.$_GET[\"delfile\"].\' ?<br><a href=\"?delfile=\'.$_GET[\"delfile\"].\'&ok\">Kattints ide a fájl törléséhez</a> || <a href=\"index.php\">Vissza</a>\');
} else { // HA MEG VAN ERÕSITVE
rmdir($_GET[\"delfile\"]);
die(\'A mappa sikeresen letörölve.<br><a href=\"index.php\"><- Go back</a>\'); // ELHALÁLOZÁS
}
}
}
if(isset($_GET[\"editfile\"])) {
$points = explode(\".\",$_GET[\"editfile\"]); // PONTONKÉNT ELVÁLASZTJUK A FÁJLT
$mennyivan = count($points)-1; // Lehet, hogy a fájl neve ez lesz például: \"Mappa/../Mappa/../../Mappa/fájl.txt\" és akkor már is hibás
if(!strpos($_GET[\"editfile\"],\".\")) die(\"Ez nem egy fájl!\");
if(empty($points[$mennyivan])) die(\"Hibás kiterjesztés!\");
if(!file_exists($_GET[\"editfile\"])) die(\"A megadott fájl (\".$_GET[\"editfile\"].\") nem létezik!\"); // HA A FÁJL NEM LÉTEZIK
if(isset($_POST[\"discard\"])) header(\'Location: index.php\');
if(!isset($_POST[\"save\"])) {
die (\'<h1>\'.$_GET[\"editfile\"].\' szerkesztése</h1><br><a href=\"index.php\"><- Go back</a><hr>Ez a funkció jelenleg még nem érhetõ el!\');
}
}
if(isset($_GET[\"folder\"]) && empty($_GET[\"folder\"])) die(\"Üres mappanév!\"); // HA A MAPPA NEVE ÜRES
if(!isset($_GET[\"folder\"])) $dir = scandir(\"../htdocs\"); // HA NINCS MEGADVA MAPPA
else $dir = scandir($_GET[\'folder\']); //HA MEG VAN ADVA MAPPA
/*
if(isset($_GET[\"folder\"])) { // ha a címben \"..\" van, akkor töröljük azt + az elõtte lévõt <--- NEM MEGY, VALÓSZINÛLEG NEM IS LESZ!!
$cimdarabok = explode(\"/\",$_GET[\"folder\"]);
print_r($cimdarabok);
if(strpos($_GET[\"folder\"],\"..\")) {
print(\"<br>Találtam \'..\'-ot a címben!\");
for($i = 0; $i <= count($cimdarabok); $i++) {
if($cimdarabok[$i] == \"..\") {
unset($cimdarabok[$i]);
$kellreload = 1;
}
}
}
if($kellreload == 1) for($i = 0; $i < count($cimdarabok); $i++) $cim.=$cimdarabok[$i].\"\"
}*/
if(!isset($_GET[\"file\"])) { // HA NEM FÁJLRA KATTINTOTTUNK
print(\'<table>\');
for($i = 1; $i < count($dir); $i++) { // EGYESÉVEL VÉGIGMEGYÜNK AZ ÖSSZES ELEMEN AMI A MAPPÁBAN VAN
if($dir[$i][0] != \".\") { // HA A MAPPA NEM .-TAL KEZDÕDIK
if(!isset($_GET[\"folder\"])) { // HA NINCS BEÁLLITVA MAPPA
if(strpos($dir[$i],\".\")) //HA VAN BENNE PONT AZAZ FÁJL
print(\"<tr><td><a href=\\\"?delfile=\".$dir[$i].\"\\\"><img src=\'kisx.png\' alt=\'Törlés\'/></a></td><td><a href=\\\"?editfile=\".$dir[$i].\"\\\"><img src=\'kisedit.png\' alt=\'Fájl szerkesztése\'/></a></td><td><font color=\'blue\'><a href=\\\"?file=\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
else //HA NEM FÁJL
print(\"<tr><td><a href=\\\"?delfile=\".$dir[$i].\"&itsafolder\\\"><img src=\'kisx.png\' alt=\'Törlés\'/></a></td><td></td><td><font color=\'blue\'><a href=\\\"?folder=\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
} else { //HA NINCS BEÁLLITVA MAPPA
if(strpos($dir[$i],\".\")) { //HA VAN BENNE PONT AZAZ FÁJL
print(\"<tr><td><a href=\\\"?delfile=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\"><img src=\'kisx.png\' alt=\'Törlés\'/></a></td><td><img src=\'kisedit.png\' alt=\'Fájl szerkesztése\'/></td><td><font color=\'blue\'><a href=\\\"?file=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
}
else { //HA EGY MAPPA
print(\"<tr><td><a href=\\\"?delfile=\".$_GET[\"folder\"].\"/\".$dir[$i].\"&itsafolder\\\"><img src=\'kisx.png\' alt=\'Törlés\'/></a></td><td></td><td><font color=\'blue\'><a href=\\\"?folder=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\"); }
}
} else { // HA A MAPPA PONTTAL KEZDÕDIK
if(!isset($_GET[\"folder\"])) { // HA NINCS BEÁLLITVA MAPPA
if(strpos($dir[$i],\".\")) // HA VAN BENNE PONT
print(\"<tr><td></td><td></td><td><a href=\\\"?file=\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
else // HA NINCS BENNE PONT
print(\"<tr><td></td><td></td><td><a href=\\\"?folder=\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
} else { //HA A MAPPA NINCS BEÁLLITVA
if(strpos($dir[$i],\".\")) // HA VAN BENNE PONT
print(\"<tr><td></td><td></td><td><a href=\\\"?file=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
else // HA NINCS BENNE PONT
print(\"<tr><td></td><td></td><td><a href=\\\"?folder=\".$_GET[\"folder\"].\"/\".$dir[$i].\"\\\">\".$dir[$i].\"</a></td></tr>\");
}
}
}
print(\'</table>\');
} else { // HA FÁJLRA KATTINTOTTUNK
if(!file_exists($_GET[\"file\"])) die(\"A fájl nem létezik, vagy nem olvasható!\"); // HA NEM LÉTEZIK A FÁJL
echo \"<h1>\".$_GET[\"file\"].\"</h1><br><a href=\'index.php\'><- Go back</a><hr>\";
$pontok = explode(\".\",$_GET[\"file\"]); // PONTONKÉNT ELVÁLASZTJUK
$last = $pontok[count($pontok)-1]; // MEGSZÁMOLJUK MENNYI VAN BENNE, ELTÁROLJUK EGY VÁLTOZÓBA
if($last == \"png\" || $last == \"jpg\" || $last == \"jpeg\" || $last == \"gif\") print(\"<img src=\'\".$_GET[\"file\"].\"\' width=\'80%\'/>\"); // HA KÉP BEILLESZTJÜK
else include_once($_GET[\'file\']); // HA NEM KÉP BEILLESZTJÜK
}
?>
</div>
<div id=\"box\"><center><b>File System by Nukerdog v<?php echo $vers;?></b></center></div>