hi
ich lade per einem Script datein hoch das klappt auch alles soweit...
hat die richtige Byte Zahl in der DB usw.
nur wenn ich die über das 2te script lade.. sind die datei kaputt...
wenn ich die datein per FTP Lade sind sie iO
adminpage()=gibt die Seite aus mit dem was ausen drum ist
checklogin() sollte denke ich klar sein
die datei wird hochgeladen in die DB und alle angaben sind richtig:
hier mit soll es runtergeladen werden:
hier die DB strucktur:
ich nutze ein class_db zur verbindung. die funktionen sind ähnlich und bestehen sogar aus den orginalen...
danke schonmal für eure antworten
MfG Gunah
ich lade per einem Script datein hoch das klappt auch alles soweit...
hat die richtige Byte Zahl in der DB usw.
nur wenn ich die über das 2te script lade.. sind die datei kaputt...
wenn ich die datein per FTP Lade sind sie iO
PHP:
<?php
//downloads´
require('./global.php');
checklogin();
if($load=='su') {
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$path_parts = pathinfo($name);
$contenttype=$path_parts['extension'];
$anzname = $_POST['anzname'];
if($size > "2000000") {
$err[] = "Die Datei welche Sie hochladen wollen, ist zu gross!<br />Maximale Dateigrosse beträgt 2000 KB!";
}
if(empty($anzname)) {
$err[] = "Sie haben keinen Anzeigenamen angegeben.";
}
if(empty($err)) {
$db->query("INSERT INTO ".$mysqlprefix."_download (name,anzname,contenttype,size,time,userid,extension) VALUES ('".addslashes($name)."','".addslashes($anzname)."', '".addslashes($type)."', '".addslashes(intval($size))."', '".time()."', '".intval(userid())."','".addslashes($contenttype)."');");
copy($tempname, '../attachments/attachment_'.$db->insert_id().'.'.$contenttype);
$loaded= htmlconverter("Die Datei ".$name." wurde erfolgreich hochgeladen!").'<br /><br /><a href="'.filename().'">Klicken Sie hier um wieder zur Übersicht zu gelangen</a>';
}
else {
foreach($err as $error)
$eroor=$error;
}
}
adminpage('Download Bereich | Hochladen',$eroor.''.$loaded.'<br />
<br />
<form enctype="multipart/form-data" action="'.filename().'" method="post">
<input type="file" name="file"><br />
Anzeige Namen angeben:<br />
<input type="text" name="anzname" value="" /><br />
<input type="submit" value="hochladen">
<input type="hidden" name="load" value="su">
</form>');
?>
adminpage()=gibt die Seite aus mit dem was ausen drum ist
checklogin() sollte denke ich klar sein
die datei wird hochgeladen in die DB und alle angaben sind richtig:
hier mit soll es runtergeladen werden:
PHP:
<?php
require('./global.php');
if(empty($_REQUEST['action'])) $action='main';
if($action=='main') {
$result=$db->query("SELECT * FROM ".$mysqlprefix."_download");
while($row=$db->fetch_array($result)) {
echo '<strong>'.htmlconverter($row['anzname']).'<br />
<a href="downloads.php?action=download&download='.intval($row['id']).'">» Download «</a></strong><br />
<br />';
}
} elseif($action=='download') {
$result=$db->query("SELECT * FROM ".$mysqlprefix."_download WHERE id='".addslashes(intval($_REQUEST['download']))."' LIMIT 1;");
while($row=$db->fetch_array($result)) {
$thefile='./attachments/attachment_'.$row['id'].'.'.$row['extension'];
header('Content-Type: '.$row['contenttype']);
//header('Content-Type: application/force-download');
header('Content-disposition: attachment; filename = '.$row['name']);
header('Content-Length: '.$row['size']);
readfile($thefile);
}
}
?>
hier die DB strucktur:
Code:
CREATE TABLE `prefix_download` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`anzname` varchar(255) NOT NULL default '',
`contenttype` varchar(255) NOT NULL default '',
`size` varchar(255) NOT NULL default '',
`extension` varchar(50) NOT NULL default '',
`time` int(255) NOT NULL default '0',
`userid` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
ich nutze ein class_db zur verbindung. die funktionen sind ähnlich und bestehen sogar aus den orginalen...
danke schonmal für eure antworten
MfG Gunah
Zuletzt bearbeitet: