| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Sorter IIamp_god 30.08.05 21:04 Järjestää komentorivillä annetussa kansiossa olevat tiedostot päätteen mukaan uusiin alikansioihin
### sorter.php ### <?php ## Alustetaan muuttujat ## $kansio = array(); if(file_exists($argv[1])) { $kohde = $argv[1]; } else { print("Anna oikea kohde.\n"); die(); } $logi = fopen("Logitiedosto.txt", "a"); $protected = array("sorter.php", "Logitiedosto.txt"); ########################## function avaa_kansio($path) { global $kansio, $protected; print("Avataan kansio $path...\n"); $kansio[$path] = opendir($path); if(!$kansio[$path]) { print(" Kansion avaaminen epäonnistui...\n"); } while($tiedosto = readdir($kansio[$path])) { if($tiedosto == ".") continue; if($tiedosto == "..") continue; if(in_array($tiedosto, $protected)) continue; if(is_file("$path/$tiedosto")) { kasittele("$path/$tiedosto", "$tiedosto", tpaate($tiedosto)); continue; } if(is_dir("$path/$tiedosto")) { avaa_kansio("$path/$tiedosto"); continue; } } closedir($kansio[$path]); } function tpaate($tiedosto) { if($tiedosto[0] != ".") { $temp = explode(".", $tiedosto); $size = sizeof($temp); if($size <= 1) { $out = "NONE"; } else { $out = strtolower($temp[$size - 1]); } } else { $out = "HIDDEN"; } return $out; } function kasittele($fullpath, $file, $tpaate) { global $logi; $dest = "$tpaate/$file"; $exists = false; print(" yritetään siirtää $fullpath --> $dest..."); $move = false; if(!file_exists($tpaate)) { mkdir("$tpaate"); } if(!file_exists($dest)) { $move = rename("$fullpath", "$dest"); } else { $exists = true; } if($move) { print("OK\n"); } if(!$move) { print("Failed\n"); } if($exists) { print(" -- Ei ylikirjoiteta...\n"); } fwrite($logi, "$dest :: $fullpath\n"); } avaa_kansio($kohde); fclose($logi); ?> ## /sorter.php ## Ohjelman käyttäminen: php sorter.php /kansio/mikä/järjestetään uudelleen Jos kansiossa on esim: ekatiedosto.paate tokatiedosto.paate2 kolmas.paate järjestää ohjelma ne seuraavasti: paate/ekatiedosto.paate, paate/kolmas.paate, paate2/tokatiedosto.paate2 !!! Varoituksen sana; ohjelma käyttää siirtokomentoa; joten elä ihmeessä tee tätä kotikansiossa/rootissa/missään todella tärkeässä kansiossa missä kaikki tavarat pitää olla just oikeassa paikassa !!! Tarkoitettu lähinnä "varastojen" siivoamiseen :) Dex 21:43 14.9.05 Hyvin kommentoitu. :) amp_god 22:12 15.9.05 Ei toi perus php mitään monimutkainen kieli oo :) sehä kommentoi itse itsensä :) editoitu: 11:44 1.10.05 rusinax 11:43 1.10.05 Eikö voi tehdä samaa manuaalisesti? Tai automaattisesti (ainakin windowsissa) |
![]() Haku
|