logo

Scanning All Files and Directories

Arsip IlmuWebsite
Sabtu, 30 Mei 2009 03.43 WIB 2 menit baca 93x dibaca
Anda dapat membuat Fungsi scanning dalam PHP. Scanning berikut menghasilkan query dalam bentuk array, dan bersifat continue sampe file terakhir pada folder terakhir, jadi smua bakalan discan, kecuali untuk nilai pada variable $invisibleFileNames yang ditampung juga dalam array <?php function scanDirectories($rootDir) { ??? // set filenames invisible if you want ??? $invisibleFileNames = array(".", "..", ".htaccess", ".htpasswd", "Thumbs.db"); ??? // run through content of root directory ??? $dirContent = scandir($rootDir); ??? $allData = array(); ??? // file counter gets incremented for a better ??? $fileCounter = 0; ??? ??? foreach($dirContent as $key => $content) { ??????? // filter all files not accessible ??????? $path = $rootDir.'/'.$content; ??????? if(!in_array($content, $invisibleFileNames)) { ??????????? // if content is file & readable, add to array ??????????? if(is_file($path) && is_readable($path)) { ??????????????? $tmpPathArray = explode("/",$path); ??????????????? // saving filename ??????????????? $allData[$fileCounter]['fileName'] = end($tmpPathArray); ??????????????? // saving while path (for better access) ??????????????? $allData[$fileCounter]['filePath'] = $path; ??????????????? // get file extension ??????????????? $filePartsTmp = explode(".", end($tmpPathArray)); ??????????????? $allData[$fileCounter]['fileExt'] = end($filePartsTmp); ??????????????? // get file date ??????????????? $allData[$fileCounter]['fileDate'] = date('Y-m-d H:i:s', filectime($path)); ??????????????? // get filesize in byte ??????????????? $allData[$fileCounter]['fileSize'] = filesize($path); ??? ??? ??? ??? ??? ??? ??? ??? //query SQL dapat diletakkan disini: ??? ??? ??? ??? //mysql_query("INSERT INTO dirGue(path, filename) VALUES('".$allData[$fileCounter]['filePath']."', '".$allData[$fileCounter]['fileName']."')") ??? ??? ??? ??? ??????????????? $fileCounter++; ??????????? // if content is a directory and readable, add path and name ??????????? }elseif(is_dir($path) && is_readable($path)) { ??????????????? $dirNameArray = explode('/',$path); ??????????????? $allData[$path]['dirPath'] = $path; ??????????????? $allData[$path]['dirName'] = end($dirNameArray); ??????????????? // recursive callback to open new directory ??????????????? $allData[$path]['content'] = scanDirectories($path); ??????????? } ??????? } ??? } ??? ??? return $allData; } if(isset($_POST['submit']) && !empty($_POST['rootDir'])) { ??? print_r(scanDirectories($_POST['rootDir'])); } ?> <h2>Scanning All Files and Directories </h2> <form action="" method="post"> <input name="rootDir" type="text" size="20" /> <input name="submit" type="submit" value="scan directories" /> </form> Selamat mencoba :D~~
LD
Penulis
Loka Dwiartara

Bapak-bapak tukang ketiq, yang bercita cita ingin jadi petani. Ada keperluan untuk handle project, atau ingin saya membantu menjelaskan secara detail tentang teknologi, INTERNET dan AI silahkan bisa kontak saya

Artikel Terkait