logo

Scanning All Files and Directories

Arsip IlmuWebsite
Sabtu, 30 Mei 2009 � 03.43 WIB 2 menit baca 3x 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

Saya membantu orang non-IT yang punya ide dan laptop agar bisa membangun aplikasi sederhana dengan bantuan AI, tanpa latar belakang IT, tanpa harus belajar coding dari nol.

Artikel Terkait