Download Form mit Counter - DL Funktion ?

Crusade

Grünschnabel
Also ich habe mir ein Download Script geschrieben, nur komm ich beim Download an sich nicht weiter. Es soll halt, wenn man auf Download klickt der Count in der mySQL Table um ein erhöht werden (Funktion ok) und der Download gestartet werden.

Der Code:
PHP:
<?php
$page_count = microtime(1);
include("_style.php");
echo "<br>";
require ("config.inc.php");
$db_tab = 'script_database';
$db_id = $_REQUEST['id'];
	
if (!$submit) {
	
	if (preg_match("/^[0-9]+/i",$_REQUEST["id"])) {

		$sql_qry = mysql_db_query($db_name, "SELECT * FROM $db_tab WHERE id = $db_id");
		$sql_get = mysql_fetch_array($sql_qry);
		$sql_visits = $sql_get['visits'] +1;
		$sql_download = $sql_get['download'];
		
		if ($sql_download) {
			preg_match("/\/((?!.*\/).*)/i",$sql_download,$sql_file);
			
			//$sql_download
			// 'http://www.crusade-scriptz.de/_index/_php/download.php?id=$db_id'
			echo "<form action='".$PHP_SELF."?id=".$db_id."' method='post'>";
			//<form action=$PHP_SELF method='post'>
			echo ("
			<p align='center'><table class='_tab'>
			<tr><td class='_center-b'>Dateiname :</td><td class='_center-n'>$sql_file[1]</td></tr>
			<tr><td class='_center-b'>Downloads :</td><td class='_center-n'>$sql_visits</td></tr>
			<td><input type='submit' name='submit' value='Download'></td>
			
			</table></form>
			");
			
		}
	
		else { echo ("<br><br><img src='../_error-id.png' border='0'>"); }
	
		mysql_close($db_connect);
	
	}
	else { echo ("<br><br><img src='../_error-request.png' border='0'>"); }
}

else {
	
	echo ("<table class='_tab'><td class='_center-b'>Fenster schliessen</td></table>");
	
	echo $db_id."<br>";
	
	$sql_qry = mysql_db_query($db_name, "SELECT * FROM $db_tab WHERE id = $db_id");
	$sql_get = mysql_fetch_array($sql_qry);
	
	$sql_visits = $sql_get['visits'] +1;
	
	echo $sql_visits."<br>";
	
	//$sql_download = $sql_get['download'];
	$sql_download = '_title.png';
	$sql_update = mysql_db_query($db_name, "UPDATE $db_tab SET visits = $sql_visits WHERE id = $db_id");
	
	echo $sql_download."<br>";
	
	/* der vergebliche versuch einen Download zu starten ... */
	fread($fp = fopen($sql_download, 'r'), filesize($sql_download));
	fclose($fp);

}

$page_loaded = microtime(1) - $page_load;
$page_loaded = round($page_loaded,2);
echo ("
<br><br>
<table class='_tab'><td class='_load'>( geladen in $page_loaded sek )</td></table>
</p></body></html>
");
?>

Also ich komme einfach nicht weiter, deshalb die bitte an euch, wie geht das mit dem Download ?
 
Wo gibst du die Daten aus der Datei aus? Welcher Header wird an den Client gesendet, damit dieser weiß, daß eine Datei kommt?
 
Alles, was laut dem HTTP nötig ist. Oder du schaust mal, wie es Andere gemacht haben :suchen: . Ein Beispiel ist auch in den Tutorials zu finden, du kannst dir bei Download-Protector alle benötigten Codeteile anschauen und auf deine Verhältnisse umschreiben.
 
Zurück