Kamis, 08 Januari 2009

Anda dapat membuat Fungsi scanning dalam PHP.

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

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']));
}
?>

Scanning All Files and Directories







Selamat mencoba :D~~

Tidak ada komentar:

Poskan Komentar