Hallo Leute,
auf meiner Website biete ich durch folgenden Code Applikationen zum Download an. Dummerweise werden die ZIP Dateien während des Downloads beschädigt. Erst, wenn ich sie über dieses Tool repariert habe, kann ich sie entpacken. Weiß jemand, warum die ZIP Dateien beschädigt werden. Wie muss der PHP Code abgeändert werden, damit sie nicht mehr beschädigt werden?
auf meiner Website biete ich durch folgenden Code Applikationen zum Download an. Dummerweise werden die ZIP Dateien während des Downloads beschädigt. Erst, wenn ich sie über dieses Tool repariert habe, kann ich sie entpacken. Weiß jemand, warum die ZIP Dateien beschädigt werden. Wie muss der PHP Code abgeändert werden, damit sie nicht mehr beschädigt werden?
PHP:
<?php
function makeDownload($file) {
header("Content-Disposition: attachment; filename=\"$file\"");
header("Content-Length: " . filesize($file));
header("Content-Type: application/octet-stream;");
readfile($file);
}
?>
<?php
$filename1 = "Bomberman.zip";
$filename3 = "Vokabeltrainer.zip";
$filename4 = "PuzzleGame.zip";
$filename5 = "Backgammon.zip";
$filename6 = "Memory.zip";
//$filename7 = "DirectX_SpaceDemo.zip";
$filename8 = "Snaker.zip";
$filename9 = "SpaceShooter.zip";
$filename10 = "Halma.zip";
//$filename11 = "forMatthias.7z";
$dir = getcwd() . '/';
?>
<?php
// Prüfe ERST, ob das Formular schon gesendet wurde (= Ein Knopf gedrückt wurde)
if (!empty($_REQUEST["download1"])) {
if (file_exists($dir . $filename1)) {
makeDownload($filename1);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download2"])) {
if (file_exists($dir . $filename2)) {
makeDownload($filename2);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download3"])) {
if (file_exists($dir . $filename3)) {
makeDownload($filename3);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download4"])) {
if (file_exists($dir . $filename4)) {
makeDownload($filename4);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download5"])) {
if (file_exists($dir . $filename5)) {
makeDownload($filename5);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download6"])) {
if (file_exists($dir . $filename6)) {
makeDownload($filename6);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
/*
if (!empty($_REQUEST["download7"])) {
if (file_exists($dir . $filename7)) {
makeDownload($filename7);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
*/
if (!empty($_REQUEST["download8"])) {
if (file_exists($dir . $filename8)) {
makeDownload($filename8);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download9"])) {
if (file_exists($dir . $filename9)) {
makeDownload($filename9);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
if (!empty($_REQUEST["download10"])) {
if (file_exists($dir . $filename10)) {
makeDownload($filename10);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
/*
if (!empty($_REQUEST["download11"])) {
if (file_exists($dir . $filename11)) {
makeDownload($filename11);
} else {
echo("<center><h3>Datei nicht existent</h3></center>");
}
}
*/
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Freier Download Bereich</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="plugin/ckeditor/ckeditor.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Home
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="phpinfo.php" target="_blank">PHP Info</a>
</div>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
My Websites
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="http://tklustig.ddns.net/Bewerbungen/index.php" target="_blank">Bewerbungen</a>
<a class="dropdown-item" href="http://tklustig.ddns.net/Temperatur/index.php"target="_blank">Temperaturprojekt</a>
<a class="dropdown-item" href="http://tklustig.ddns.net/VIRMA/backend/web/index.php"target="_blank">Kalkan-Projekt</a>
<a class="dropdown-item" href="http://tklustig.ddns.net/Makler/frontend/web/index.php"target="_blank">Maklerapplikation(Demoversion)</a>
</div>
</li>
</ul>
</div>
</nav>
<div class="jumbotron">
<div class = "container">
<div class="row">
<img src="counter.php" title="Pic1" alt="Picture1">
<form action="senden.php" class="form-inline" method="post" >
<div class="col-md-12">
<label style='float:right';>MessageBox</label>
</div>
<div class="col-md-6">
<div class="page-header">
<h2>Downloadbereich <small>Laden Sie meine Applikationen runter.... </small></h2>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<textarea rows="3"cols="75" id="comment" name="MsgBox" placeholder="MessageBox:Nachrichten hier!"><?php
if (!empty($_REQUEST['MsgBox'])) {
echo $_REQUEST['MsgBox'];
}
?>
</textarea>
<script>
CKEDITOR.replace('comment');
</script>
</div>
<br>
<input type="submit" name="message" class="btn btn-success btn-sm" value="Absenden">
<button class="btn btn-primary btn-sm" onclick="Reload()">Reload Page</button>
</div>
</form>
</div>
<div class="row">
<div class="progress">
<div class="progress-bar progress-bar-success progress-bar-striped active" style="width: 33%">
</div>
<div class="progress-bar progress-bar-warning progress-bar-striped active" style="width: 33%">
</div>
<div class="progress-bar progress-bar-danger progress-bar-striped active" style="width: 33%">
</div>
</div>
<div class="well">
<div class="panel panel-default">
<div class="panel-body">
<div class="alert alert-info" role="alert">Pushen Sie auf einen der Downloadbuttons, um die entsprechende Applikation runterzuladen. Entpacken Sie die komprimierte Datei in einen beliebigen Ordner und starten Sie die jeweilige EXE-Datei, oder den Installationswizzard.</div>
<ul>
<li>
Bei Problemen lesen Sie - sofern vorhanden- die ReadmeFirst.txt aufmerksam durch
</li>
<li>
Sollten dennoch Probleme während der Installation auftreten, die Applikation läuft partout nicht, dann schicken Sie mir bitte über die MessageBox eine Nachricht.
</li>
<li>
u.U. kann die Zip File durch den Download beschädigt und somit nicht extrahiert werden. In diesem Falle hilft <a href="https://www.diskinternals.com/zip-repair/" target="_blank">dieses</a> Tool weiter.
</li>
<li>
Rufen Sie auf Wunsch unter ☞ Menu ☞ My Websites gerne auch meine anderen Webapplikationen auf. Letzere kann gegen ein Entgelt erworben werden, erstere sind frei!
</li>
</ul>
</div>
<div class="panel-footer">
<div class="table-responsive">
<form action="<?= $_SERVER['SCRIPT_NAME']; ?>" method="post" >
<table class="table table-striped w-auto">
<thead>
<tr>
<th>Rubrik</th>
<th>Applikation</th>
<th>Programmiersprache</th>
<th>Download</th>
<th>Dateigröße(Bytes)</th>
</tr>
</thead>
<tbody>
<tr>
<td>.NET Game</td>
<td>Spiel (2D Jump'n'Run)</td>
<td>VB.NET</td>
<td><input type="submit" name="download1" class="btn btn-info btn-sm" value="<?= $filename1; ?>"></td>
<td><?= filesize($filename1); ?></td>
</tr>
<tr>
<td>Sprachen</td>
<td>Vokabeltrainer</td>
<td>C# (WinForms)</td>
<td><input type="submit" name="download3" class="btn btn-info btn-sm" value="<?= $filename3; ?>"></td>
<td><?= filesize($filename3); ?></td>
</tr>
<tr>
<td>Logik</td>
<td>Puzzle zusammen setzen</td>
<td>DarkBasic</td>
<td><input type="submit" name="download4" class="btn btn-info btn-sm" value="<?= $filename4; ?>"></td>
<td><?= filesize($filename4); ?></td>
</tr>
<tr>
<td>Logik</td>
<td>Backgammon (Human vs. PC)</td>
<td>VB.NET</td>
<td><input type="submit" name="download5" class="btn btn-info btn-sm" value="<?= $filename5; ?>"></td>
<td><?= filesize($filename5); ?></td>
</tr>
<tr>
<td>Logik</td>
<td>Memory(special edition)</td>
<td>C# (WinForms)</td>
<td><input type="submit" name="download6" class="btn btn-info btn-sm" value="<?= $filename6; ?>"></td>
<td><?= filesize($filename6); ?></td>
</tr>
<!--
<tr>
<td>DirectX</td>
<td>3D Shooter (Demoversion)</td>
<td>C++</td>
<td><input type="submit" name="download7" class="btn btn-info btn-sm" value="<?= $filename7; ?>"></td>
<td><?php //echo filesize($filename7); ?></td>
</tr>
-->
<tr>
<td>DirectX</td>
<td>Spiel (2D Catch&Destroy)</td>
<td>DarkBasic</td>
<td><input type="submit" name="download8" class="btn btn-info btn-sm" value="<?= $filename8; ?>"></td>
<td><?= filesize($filename8); ?></td>
</tr>
<tr>
<td>DirectX</td>
<td>Spiel (2D Shooter)</td>
<td>DarkBasic</td>
<td><input type="submit" name="download9" class="btn btn-info btn-sm" value="<?= $filename9; ?>"></td>
<td><?= filesize($filename9); ?></td>
</tr>
<tr>
<td>Logik</td>
<td>Halma (Human vs. PC)</td>
<td>C# (WinForms)</td>
<td><input type="submit" name="download10" class="btn btn-info btn-sm" value="<?= $filename10; ?>"></td>
<td><?= filesize($filename10); ?></td>
</tr>
<!-- <tr>
<td>JarForLangwald</td>
<td>Jar Files, SQL and more</td>
<td>Java</td>
<td><input type="submit" name="download11" class="btn btn-info btn-sm" value="<?= $filename11; ?>"></td>
<td>hier muss das php-Kommando filesize reimplementiert werden</td>
</tr> -->
</tbody>
</table>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12">
</div>
<script>
function Reload() {
alert("Inhalt wird über JavaScript neu geladen...");
location.reload();
}
</script>
</body>
</html>
Zuletzt bearbeitet: