Webmaster общности: Predpriemach.com | SearchEngines.bg

    Файлова Система част 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\">";
    }
    ?>

    Оставете коментар