Файлова Система част I
В този урок ще ви покажа как да си направите файлова система. 🙂
Първо трябва да се запознаем със някои функции на php.
Те са:
unlink – тази функция трие даден файл
$delete = „D:/papkata/fajla.formata“
пример: unlink($delete);
където $delete е пътя до файла
rmdir – тази функция трие дадена папка
пример:
$delete = „D:/papkata/“
пример: rmdir($delete);
където $delete е пътя до папката
opendir – тази функция отваря дадена папка
пример:
$patia=“s/“;
opendir($patia);
където $patia е пътя до папката
closedir – тази функция затваря дадена папка
пример:
$patia=“s/“;
$g = opendir($patia);
closedir($g);
където $patia е пътя до папката
readdir – тази функция чете от дадена папка
пример:
$patia=“s/“;
$g = opendir($patia);
readdir( $g );
mkdir – тази функция създава папка
пример:
mkdir(D:/papkata);
fopen – тази функция отваря файл
пример:
$patia=“s/fajla.php“;
fopen(„$patia“,“w+“);
rename – тази функция преименува,премества
пример за преместване:
$from =“D:/papkata/fajla.exe“;
$pat =“D:/papkata/drugatapapka/fajla.exe“;
rename(„$from“, „$pat“);
пример за преименуване:
$from =“D:/papkata/fajla.exe“;
$pat =“D:/papkata/drugotoime.exe“;
rename(„$from“, „$pat“); .
Ето вече и самата файлова система.
В този файл трябва да промените само
тези редове
$patia=“s/“; //ГЛАВНАТА ПАПКА НА ФАЙЛОВЕТЕ
}
$patiaa=“s/“; //ТОВА ТРЯБВА ДА Е СЪЩОТО КАТО $patia
Друго По файла не трябва да се променя.
index.php
<link rel="stylesheet" href="style.css" type="text/css" /> //тук слагаме дизайна
<center><?php
if(isset($_GET["subdir"]))
{
$subdir = $_GET["subdir"];
$patia="$subdir";
}
else
{
$patia="s/"; //ГЛАВНАТА ПАПКА НА ФАЙЛОВЕТЕ
}
$patiaa="s/"; //ТОВА ТРЯБВА ДА Е СЪЩОТО КАТО $patia
$g=@opendir($patia); //отваряме папката
while ($fajl= @readdir( $g ) ) //четем от папката
{
if(!is_dir($fajl) && !is_link($fajl) && $fajl != ".." && $fajl != ".") {
$fm[]=$fajl;
}
}
@closedir ($g); //затваряме папката
$kolko=count ($fm); //изчисляваме колко са файловете
$self = $_SERVER['SELF'];
echo "<table border=\"1\"><tr><td>All Items Is $kolko</td>";
echo "<td><a class=\"refresh\" href=\"$self\">Refresh</a></td></tr>";
echo "<td>Create:<form action=\"\" method=\"post\">Dir<input type=\"radio\" name=\"filedir\" checked=\"checked\" value=\"dir\">File<input type=\"radio\" name=\"filedir\" value=\"file\"><input type=\"text\" name=\"filedirname\"> <input type=\"submit\" name=\"submit\" value=\"Create\"></form></td><td>File:<form method=\"post\" action=\"$self\" enctype=\"multipart/form-data\"><input type=\"file\" name=\"file\"> <input type=\"submit\" name=\"upload_form\" value=\"Upload\">
</form></td></tr></table><table border=\"1\">";
$new_file = $_FILES['file'];
$file_name = $new_file['name'];
$file_tmp = $new_file['tmp_name'];
move_uploaded_file($file_tmp,$patia.$file_name);
$filedir = $_POST['filedir'];
$filedirname = $_POST['filedirname'];
if($filedirname != "")
{
if ($_POST["filedir"] == "dir")
{
@mkdir($patia.'/'.$filedirname); //създаваме папката
}
if ($_POST["filedir"] == "file")
{
if (!(file_exists($patia.'/'.$filedirname))) //тук проверяваме дали има такъв файл
{
$fp = @fopen("$patia/$filedirname","w+"); //създаваме файла
}
else
{
echo "File Exists"; //ако има вече такъв файл изписва File Exists
}
}
}
for($i = 0; $i < $kolko; $i++)
{
$filepat=$patia.'/'.$fm[$i];
$filemtime = date("Y/m/d G:i:s", filemtime($filepat));
$filectime = date("Y/m/d G:i:s", filectime($filepat));
$size=filesize($filepat);
if ($size>1048576)
{$size=$size/1048576;
$size=sprintf("%.1f",$size);
$size=$size.' mb';}
elseif ($size>1024)
{$size=$size/1024;
$size=sprintf("%.1f",$size);
$size=$size.' kb';}
else
{$size=$size.' bytes';}
include("icons.php"); //инклудваме файла за иконките
$file_extension = strtolower(substr(strrchr($fm[$i],"."),1));
switch( $file_extension ) {
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "rar": $ctype="application/rar"; break;
case "mp3": $ctype="audio/mpeg"; break;
case "mpg":$ctype="video/mpeg"; break;
case "avi": $ctype="video/x-msvideo"; break;
default: $ctype="application/force-download";
}
$fe = $file_extension;
if (is_file("$filepat"))
{ // проверяваме дали файла е в текстов вид
if($fe == "txt" || $fe == "htm" || $fe == "html" || $fe == "php" || $fe == "php3" || $fe == "log" || $fe == "nfo" || $fe == "cue" || $fe == "cgi" || $fe == "ini" || $fe == "bat" || $fe == "css" || $fe == "sql")
{
echo "<tr><td>$img <a href='$filepat' target=\"_blank\">$fm[$i]</a></td><td align=\"center\"><a class=\"size\"> $size </a></td><td align=\"center\">
<a href=\"write.php?edit=$filepat\" target=\"_blank\"><img src=\"img/small/edit.gif\" border=\"0\"></a></td><td align=\"center\">
<a href=\"rename.php?rename=$filepat&dir=$patia/\" target=\"_blank\"><img src=\"img/small/Rename.png\" border=\"0\"></a></td><td align=\"center\">
<a href=\"delete.php?delete=$filepat\" target=\"_blank\"><img src=\"img/small/Remove.png\" border=\"0\"></a></td><td align=\"center\">
<a href=\"move.php?from=$filepat&pat=$patiaa&file=$fm[$i]\" target=\"_blank\"><img src=\"img/small/Cut.png\" border=\"0\"></a></td><td align=\"center\">
<a href=\"open.php?source=$filepat\" target=\"_blank\"><img src=\"img/small/Vraw.png\" border=\"0\"></a></td><td> <a class=\"create\">Created: $filectime</a></td><td> <a class=\"mod\">Modified: $filemtime</a</td></tr>";
}
else
{
echo "<tr><td>$img <a href='$filepat' target=\"_blank\">$fm[$i]</a></td><td align=\"center\"> <a class=\"size\"> $size </a></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td align=\"center\"> <a href=\"rename.php?rename=$filepat&dir=$patia/\" target=\"_blank\"><img src=\"img/small/Rename.png\" border=\"0\"></a></td><td align=\"center\"> <a href=\"delete.php?delete=$filepat\" target=\"_blank\"><img src=\"img/small/Remove.png\" border=\"0\"></a></td><td align=\"center\"> <a href=\"move.php?from=$filepat&pat=$patiaa&file=$fm[$i]\" target=\"_blank\"><img src=\"img/small/Cut.png\" border=\"0\"></a></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td> <a class=\"create\">Created: $filectime</a> </td><td><a class=\"mod\">Modified: $filemtime</a></td></tr>";
}
}
if (is_dir("$filepat")) //проверява дали пътя е папка
{
echo "<tr><td><img src=\"img/small/folder.png\" border=\"0\"> <a href=\"?subdir=$filepat\">$fm[$i]</a></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td align=\"center\"><a href=\"rename.php?rename=$filepat&dir=$patia/\" target=\"_blank\"> <img src=\"img/small/Rename.png\" border=\"0\"></a></td><td align=\"center\"> <a href=\"delete.php?delete=$filepat\" target=\"_blank\"><img src=\"img/small/Removefolder.png\" border=\"0\"></a></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td><img src=\"img/small/0.gif\" border=\"0\"></td><td> <a class=\"create\">Created: $filectime</a></td><td> <a class=\"mod\">Modified: $filemtime</a></td></tr>";
}
}
?>
</center>
</table>Ето и следващия файл където може да променяте иконките на файловете.Те са два вида големи и малки сега съм ги направил да са малки.Може да слагате и още картинки за форматите.Картинките ще ги дам после. 🙂
icons.php
<?php
$icons = strtolower(substr(strrchr($filepat,"."),1));
switch($icons)
{
case "txt":$img = "<img src=\"img/small/Txt.png\" border=\"0\">";
break;
case "bmp":case "jpg":case "jpeg":case "jpe":case "gif":case "emf":case "tif":case "png":$img = "<img src=\"img/small/Image.png\" border=\"0\">";
break;
case "ttf":$img = "<img src=\"img/small/Ttf.png\" border=\"0\">";
break;
case "ini":$img = "<img src=\"img/small/Ini.png\" border=\"0\">";
break;
case "bat":$img = "<img src=\"img/small/Script.png\" border=\"0\">";
break;
case "dll":$img = "<img src=\"img/small/Binary.png\" border=\"0\">";
break;
case "sys":$img = "<img src=\"img/small/Binary.png\" border=\"0\">";
break;
case "com":$img = "<img src=\"img/small/Binary.png\" border=\"0\">";
break;
case "exe":$img = "<img src=\"img/small/Binary.png\" border=\"0\">";
break;
case "htm":$img = "<img src=\"img/small/Web.png\" border=\"0\">";
break;
case "shtm":$img = "<img src=\"img/small/Web.png\" border=\"0\">";
break;
case "html":$img = "<img src=\"img/small/Web.png\" border=\"0\">";
break;
case "shtml":$img = "<img src=\"img/small/Web.png\" border=\"0\">";
break;
case "php":$img = "<img src=\"img/small/Web.png\" border=\"0\">";
break;
case "doc":$img = "<img src=\"img/small/Word.png\" border=\"0\">";
break;
case "rtf":$img = "<img src=\"img/small/Word.png\" border=\"0\">";
break;
case "pdf":$img = "<img src=\"img/small/Pdf.png\" border=\"0\">";
break;
case "xls":$img = "<img src=\"img/small/Xls.png\" border=\"0\">";
break;
case "csv":$img = "<img src=\"img/small/Xls.png\" border=\"0\">";
break;
case "ppt":$img = "<img src=\"img/small/Ppt.png\" border=\"0\">";
break;
case "mdb":$img = "<img src=\"img/small/Mdb.png\" border=\"0\">";
break;
case "mda":$img = "<img src=\"img/small/Mdb.png\" border=\"0\">";
break;
case "zip":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "tar":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "gz":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "arj":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "lha":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "tgz":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "tar.gz":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "rar":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "jar":$img = "<img src=\"img/small/Comp.png\" border=\"0\">";
break;
case "mp3":$img = "<img src=\"img/small/Sound.png\" border=\"0\">";
break;
case "wav":$img = "<img src=\"img/small/Sound.png\" border=\"0\">";
break;
case "mpe":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "mpg":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "mpeg":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "avi":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "mov":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "asf":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "asx":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "wmv":$img = "<img src=\"img/small/Video.png\" border=\"0\">";
break;
case "ram":$img = "<img src=\"img/small/Real.png\" border=\"0\">";
break;
case "ra":$img = "<img src=\"img/small/Real.png\" border=\"0\">";
break;
case "rm":$img = "<img src=\"img/small/Real.png\" border=\"0\">";
break;
default:$img = "<img src=\"img/small/Generic.png\" border=\"0\">";
}
?>

