pokud nahraju soubor na servr tak při kliknutí na stáhnout mě to dělá nějakou bejkárnu pokud je to soubor .zip, na localhost to funguje normalně .......vyzkoušet to mužete na: http://graficokh.wz.cz/uploa.php
budu rád pokud mě někdo poradí moc tomu nerozumim
uploa.php
------------------------------------------------------------------------------
<head>
<title>Nahrávání souborů</title>
</head>
<body>
<form enctype="multipart/form-data" name="upload" action="uloz.php" method="post">
<table width="100%">
<tr>
<td width="100%" colspan="2">
<b>Nahrávání souborů</b>
</td>
</tr>
<tr>
<td width="15%">
<p>Autor:</p>
</td>
<td width="50%">
<input type="text" name="autor" size="20" maxlength="50">
</td>
</tr>
<tr>
<td width="15%">
<p>Popis souboru:</p>
</td>
<td width="50%">
<input type="text" name="popis" size="20" maxlength="50">
</td>
</tr>
<tr>
<td width="15%">
<p>Soubor:</p>
</td>
<td width="50%">
<input type="file" name="soubor" size="20">
</td>
<tr>
<td width="100%" colspan="2">
<input type="submit" value="Nahrát" name="submit"> </td>
</tr>
</table>
</form>
<?php
$dbServer = "localhost";
$dbDatabase = "soubory";
$dbUser = "";
$dbPass = "heslo";
$db = mysql_connect($dbServer, $dbUser, $dbPass) or die("Není možné připojit databázový server.");
mysql_select_db($dbDatabase, $db) or die("Není mmožné spojení s databází $dbDatabase");
$query = "SELECT id, nazev, type FROM soubory ORDER BY nazev ASC";
$result = mysql_query($query) or die("Není možné vytvořit seznam!");
?>
<table width="100%">
<tr>
<td width="34%">
<b>Popis</b>
</td>
<td width="33%">
<b>Typ</b>
</td>
<td width="33%">
<b>Název</b>
</td>
</tr>
<?php
while($row = mysql_fetch_array($result))
{
?>
<tr>
<td>
<?php echo $row["nazev"]; ?>
</td>
<td>
<?php echo $row["type"]; ?>
</td>
<td>
<a href="download.php?id=<?php echo $row["id"]; ?>">Stáhnout</a>
</td>
</tr>
<?php
}
echo "</table>";
?>
download.php
---------------------------------------------------------------
<?php
global $id;
if(!is_numeric($id)) die("Chybné id!");
$dbServer = "localhost";
$dbDatabase = "soubory";
$dbUser = "";
$dbPass = "heslo";
$db = mysql_connect($dbServer, $dbUser, $dbPass) or die("Není možné připojit databázový server.");
mysql_select_db($dbDatabase, $db) or die("Není mmožné spojení s databází $dbDatabase");
$query = "SELECT type,data FROM soubory WHERE id = $id";
$result = mysql_query($query) or die("Není možné stáhnout soubor!");
if(mysql_num_rows($result) == 1)
{
$type = @mysql_result($result, 0, "type");
$obsah = @mysql_result($result, 0, "data");
header("Content-type: $type");
echo $obsah;
}
else
{
echo "Tento záznam neexistuje!";
}
?>
uloz.php
-----------------------------------------------------------
<?php
global $popis;
global $soubor;
global $soubor_name;
global $soubor_size;
global $soubor_type;
if(empty($popis) || $soubor == "none")
die("Musíte vložit informace o souboru!");
$dbServer = "localhost";
$dbDatabase = "soubory";
$dbUser = "";
$dbPass = "heslo";
$open = fopen($soubor, "r");
$obsah = fread($open, $soubor_size);
$obsah = addslashes($obsah);
$db = mysql_connect($dbServer, $dbUser, $dbPass) or die("Není možné připojit databázový server.");
mysql_select_db($dbDatabase, $db) or die("Není mmožné spojení s databází $dbDatabase");
$query = "INSERT INTO soubory VALUES (0, '$popis', '$obsah', '$soubor_type')";
mysql_query($query) or die("Není možné přidat soubor do databáze!");
echo "<h1>Soubor byl uložen</h1>";
echo "<b>Jméno:</b> $soubor_name <br>";
echo "<b>Typ:</b> $soubor_type <br>";
echo "<b>Velikost:</b> $soubor_size <br>";
echo "<b>Uloženo v:</b> $soubor <br><br>";
echo "<a href='upload.htm'>Nahrát další</a>";
?>
$dbPass doufám nemáš jako heslo. Taky se nehodí fread a fopen, prostě jenom copy. Podle mě je blbost dávat si na stránky upload souborů, když tak si to ale pořádně zahesluj