55 lines
1.5 KiB
PHP
Executable File
55 lines
1.5 KiB
PHP
Executable File
#!/usr/bin/php
|
|
<?
|
|
|
|
// Polyfill
|
|
// Fill a volume with many small files
|
|
|
|
$dmg = "/Users/".get_current_user()."/Desktop/Polyfill.sparsebundle";
|
|
if (file_exists($dmg)) {
|
|
exec("trash ".$dmg."; umount -f /Volumes/Polyfill");
|
|
}
|
|
exec("hdiutil create -size 5g -fs HFS+ -type SPARSEBUNDLE -volname Polyfill -attach ".$dmg);
|
|
|
|
$base = "/Volumes/Polyfill";
|
|
//$total = 10000;
|
|
$total = 2000;
|
|
$sample_files = glob("sample_files/*.*");
|
|
|
|
for ($i = 0; $i < $total; $i++) {
|
|
|
|
$stamp = md5(microtime());
|
|
$levels = array();
|
|
$levels[] = substr($stamp,0,2);
|
|
$levels[] = substr($stamp,2,2);
|
|
$levels[] = substr($stamp,4,2);
|
|
$levels[] = substr($stamp,6,2);
|
|
$levels[] = substr($stamp,8,2);
|
|
$levels[] = substr($stamp,10,2);
|
|
$dest = $base."/".implode("/",$levels)."/".$stamp;
|
|
|
|
$check = array();
|
|
$check[] = $base."/".$levels[0];
|
|
$check[] = $base."/".$levels[0]."/".$levels[1];
|
|
$check[] = $base."/".$levels[0]."/".$levels[1]."/".$levels[2];
|
|
$check[] = $base."/".$levels[0]."/".$levels[1]."/".$levels[2]."/".$levels[3];
|
|
$check[] = $base."/".$levels[0]."/".$levels[1]."/".$levels[2]."/".$levels[3]."/".$levels[4];
|
|
$check[] = $base."/".$levels[0]."/".$levels[1]."/".$levels[2]."/".$levels[3]."/".$levels[4]."/".$levels[5];
|
|
|
|
foreach ($check as $dir) {
|
|
echo "check ".$dir."\n";
|
|
if (!file_exists($dir)) {
|
|
mkdir($dir);
|
|
}
|
|
}
|
|
|
|
echo $dest."\n";
|
|
|
|
$use = $sample_files[rand(0,count($sample_files))];
|
|
$ext = pathinfo($use, PATHINFO_EXTENSION);
|
|
copy($use,$dest.".".$ext);
|
|
//file_put_contents($dest,serialize($levels));
|
|
}
|
|
|
|
exec("open /Volumes/Polyfill");
|
|
|
|
?>
|