◈ TASK_03 // ZIP PROCESS

[ FILE EXTRACTION & ANALYSIS ]

▸ UPLOAD DATASET.ZIP



! Upload error: code {$zf['error']}
"; else{ $td='temp_'.time(); if(!mkdir($td))echo"
! Cannot create temp dir
"; else{ $zp=$td.'/dataset.zip'; if(!move_uploaded_file($zf['tmp_name'],$zp))echo"
! Cannot save file
"; else{ $zip=new ZipArchive(); if($zip->open($zp)===true){$zip->extractTo($td);$zip->close();processDataset($td);deleteDirectory($td);} else echo"
! Cannot extract ZIP
"; } } } } function processDataset($bd){ $dd=null; $items=scandir($bd); foreach($items as $it){ if($it!='.'&&$it!='..'&&is_dir($bd.'/'.$it)){ $sp=$bd.'/'.$it; if(file_exists($sp.'/classes.txt')){$dd=$sp;break;} $sub=scandir($sp); foreach($sub as $si){ if($si!='.'&&$si!='..'&&is_dir($sp.'/'.$si)&&file_exists($sp.'/'.$si.'/classes.txt')){$dd=$sp.'/'.$si;break;} } if($dd)break; } } if(!$dd){echo"
! Dataset folder not found
";return;} if(!file_exists($dd.'/classes.txt')){echo"
! classes.txt missing
";return;} $classes=file($dd.'/classes.txt',FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); $nums=array_map('trim',$classes); $folders=['train','validate','test']; $results=[];$totals=array_fill_keys($nums,0); foreach($folders as $f){ $fp=$dd.'/'.$f; if(!is_dir($fp)){$results[$f]=['error'=>"Folder '$f' not found"];continue;} $cnts=array_fill_keys($nums,0); $files=scandir($fp); foreach($files as $file){ if($file!='.'&&$file!='..'&&pathinfo($file,PATHINFO_EXTENSION)=='txt'){ $content=file_get_contents($fp.'/'.$file); $lines=explode("\n",$content); foreach($lines as $line){ $line=trim($line);if(empty($line))continue; $parts=preg_split('/\s+/',$line); if(!empty($parts)&&in_array($parts[0],$nums)){$cnts[$parts[0]]++;$totals[$parts[0]]++;} } } } $results[$f]=$cnts; } echo"
"; echo"

// INSTANCE COUNTS

"; $tf=0; foreach($folders as $f){$fp=$dd.'/'.$f;if(is_dir($fp)){$tf+=count(array_filter(scandir($fp),function($x){return pathinfo($x,PATHINFO_EXTENSION)=='txt';}));}} echo"
"; echo"Files: $tf"; echo"Classes: ".count($nums).""; echo"Instances: ".array_sum($totals).""; echo"
"; echo""; foreach($folders as $f)echo""; echo""; foreach($nums as $cn){echo"";$rt=0;foreach($folders as $f){$c=isset($results[$f][$cn])?$results[$f][$cn]:0;echo"";$rt+=$c;}echo"";} echo""; foreach($folders as $f){$st=is_array($results[$f])?array_sum($results[$f]):0;echo"";} echo""; echo"
Class".ucfirst($f)."Total
$cn$c$rt
TOTAL$st".array_sum($totals)."
"; echo"

// BREAKDOWN

"; foreach($folders as $f){ if(isset($results[$f])&&!isset($results[$f]['error'])){ echo"

▸ ".ucfirst($f)."

"; } } echo"
"; } function deleteDirectory($dir){if(!file_exists($dir))return true;if(!is_dir($dir))return unlink($dir);foreach(scandir($dir)as$it){if($it=='.'||$it=='..')continue;if(!deleteDirectory($dir.'/'.$it))return false;}return rmdir($dir);} ?>
// CODE DISPLAY