0) {
$_SESSION['current_profile'] = $profiles[0]['id'];
} else {
// Create default profile if none exists
$defaultProfileId = createProfile("Player 1", "avatar1.png");
$_SESSION['current_profile'] = $defaultProfileId;
}
}
// Process ROM file uploads
$uploadMessage = '';
$uploadStatus = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['upload_type'])) {
if ($_POST['upload_type'] == 'rom' && isset($_FILES['rom_files'])) {
$uploadCount = 0;
$errorCount = 0;
// Create the roms directory if it doesn't exist
if (!is_dir('roms')) {
mkdir('roms', 0755, true);
}
foreach ($_FILES['rom_files']['tmp_name'] as $key => $tmp_name) {
if ($_FILES['rom_files']['error'][$key] == UPLOAD_ERR_OK) {
$name = basename($_FILES['rom_files']['name'][$key]);
// Move the uploaded file
if (move_uploaded_file($tmp_name, "roms/$name")) {
$uploadCount++;
} else {
$errorCount++;
}
} else {
$errorCount++;
}
}
if ($uploadCount > 0) {
$uploadMessage = "$uploadCount ROM file" . ($uploadCount != 1 ? "s" : "") . " uploaded successfully!";
$uploadStatus = 'success';
}
if ($errorCount > 0) {
$uploadMessage .= ($uploadMessage ? " However, " : "") . "$errorCount file" . ($errorCount != 1 ? "s" : "") . " failed to upload.";
$uploadStatus = $uploadCount > 0 ? 'warning' : 'error';
}
}
}
// Get current profile data
$currentProfile = getProfileById($_SESSION['current_profile']);
$allProfiles = getProfiles();
?>
RetroHub - Upload ROMs
ROM Files
Upload ROM files for various game consoles. Supported formats include .nes, .smc, .gba, .n64, and more.
Drag & Drop ROM Files Here
or click to browse your files
Recently Uploaded
';
echo '
';
echo '
';
echo '' . $filename . '';
echo '' . getConsoleFriendlyName($console) . ' • ' . date('M j, Y g:i A', $uploadDate) . '';
echo '
';
echo '
';
}
if (count($files) == 0) {
echo '
No ROMs uploaded yet
';
}
?>
Upload Tips
- You can upload multiple files at once
- ZIP files are supported and will be automatically detected
- Maximum upload size:
- After uploading, your games will appear in the Game Library