Scanning All Files and Directories

Scanning All Files and Directories


Anda dapat membuat Fungsi scanning dalam PHP.

Promo Tutorial Premium Video Tutorial Mahir Web Development (Bangun 5 Project Website) + Video Tutorial Membuat Aplikasi Mobile (Bangun 4 Aplikasi Android + Upload Playstore) + Bonus Tutorial Membuat Theme Wordpress Premium - 3 Tutorial (5DVD) Hanya Rp 135.000 - Terbatas hanya sampai 17 April!

Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0838 1157 5876, atau bisa pesan secara online di sini)


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~~

Artikel Terkait :