Hoi iedereen, Hier ben ik weer maar eens met een vraagje.
Ik heb een upload script op onze website staan, maar na het downloaden van een bestand is het bestand onleesbaar, weet iemand raad ?
http://www.scoutsdonk.be/project/index.php
naam = naam1
wachtwoord= wachtwoord1
Alvast bedankt iedereen
Alain
Hier het script, wel vrij lang :
<?
if(isset($_GET['download'])){
$file = 'files/'.$_GET['download'];
$filename = $_GET['download'];
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=$filename");
readfile($file);
ob_end_flush();
}
else{
ob_start();
//namen van personen
$naam = array('naam1','naam2');
//wachtwoorden die bij de personen horen
$wachtwoord = array('wachtwoord1','wachtwoord2');
//toegestane extenties (voor uploaden)
$toegestaan = array(
'ppb',
'ppt',
'mdb',
'rtf',
'doc',
'xls',
'xlb',
'jpg',
'jpeg',
'gif',
'txt',
'html',
'htm');
//soort bestand bij de extenties
$extentienaam = array(
'powerpoint bestand',
'powerpoint bestand',
'access bestand',
'word document',
'word document',
'excel bestand',
'excel bestand',
'afbeelding',
'afbeelding',
'afbeelding',
'kladblok bestand',
'html site',
'html site');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Project Sharepoint</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<h2><center>
UPLOADEN
</center></h2>
<?php
if(isset($_GET['files'])){
echo '<center>>><a href="'.$_SERVER['PHP_SELF'].'">berichten</a><<</center><br><br>';
}
else{
echo '<center>>><a href="'.$_SERVER['PHP_SELF'].'?files">fileshare</a><<</center><br><br>';
}
if(isset($_GET['uitloggen'])){
setcookie("project", $_POST['naam'].';'.$_POST['wachtwoord'], time()-604800);
if(isset($_GET['files'])){
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?files"</SCRIPT>';
}
else{
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'"</SCRIPT>';
}
}
function inloggen(){
?>
Inloggen:
<form method="post" action="
<?
echo $_SERVER['PHP_SELF'];
if(isset($_GET['files'])){
echo '?files';
}
?>
">
<input type="hidden" name="inloggen" value="yes">
<fieldset>
<table>
<tr>
<td width="150">naam: <td><input type="tekst" name="naam" border="0">
<tr>
<td>wachtwoord: <td><input type="password" name="wachtwoord" border="0">
<tr>
<td>onthou mij: <td><input type="checkbox" name="onthou" value="ja">
</table>
</fieldset>
<br>
<input type="submit" value="log in" >
</form>
<?php
}
function inlogfout(){
echo '<font color="#FF0000">- inloggegevens onjuist -</font><br>';
inloggen();
}
function plaats(){
if(isset($_POST['edit'])){
$data = '';
$file = 'berichten.txt';
$fopenr = fopen($file,'r');
$berichten = fread ($fopenr, filesize($file));
fclose($fopenr);
$bericht = explode('|',$berichten);
$berichtena = count($bericht);
$berichtje = htmlentities($_POST['bericht']);
$berichtje = nl2br($berichtje);
$berichtje = stripslashes($berichtje);
$berichtje = str_replace('|','¦',$berichtje);
$berichtje = str_replace('^','ˆ',$berichtje);
for($a='0';$a<$berichtena;$a++){
if($a == $_POST['edit']){
$tekst = explode('^',$bericht[$a]);
$datum = date("d.m.y H:i");
$data .= $tekst['0'].'^'.$datum.' (edit datum)^'.$berichtje;
}
else{
$data .= $bericht[$a];
}
if($a<($berichtena-'1')){
$data .= '|';
}
}
$fopenw = fopen($file, "w+");
fwrite($fopenw,$data);
fclose($fopenw);
}
else{
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];
$bericht = htmlentities($bericht);
$bericht = nl2br($bericht);
$bericht = stripslashes($bericht);
$bericht = str_replace('|','¦',$bericht);
$bericht = str_replace('^','ˆ',$bericht);
$file = 'berichten.txt';
$datum = date("d.m.y H:i");
$fopenr = fopen($file,'r');
$berichten = fread ($fopenr, filesize($file));
fclose($fopenr);
$berichten .= '|'.$naam.'^'.$datum.'^'.$bericht;
$fopenw = fopen($file, "w+");
fwrite($fopenw,$berichten);
fclose($fopenw);
}
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'"</SCRIPT>';
}
function edit($nr,$ingelogt){
$file = 'berichten.txt';
$fopenr = fopen($file,'r');
$berichten = fread ($fopenr, filesize($file));
fclose($fopenr);
$berichten = str_replace('<br />','',$berichten);
$bericht = explode('|',$berichten);
$bericht = explode('^',$bericht[$nr]);
if($ingelogt == 'nee'){$disabled = 'disabled';}
elseif($ingelogt == 'ja'){$disabled = '';}
else{$disabled = 'disabled';}
echo '<center>edit bericht</center>';
echo '<fieldset><form action="'.$_SERVER['PHP_SELF'].'?plaats" method="post"><center><textarea '.$disabled.' cols=70 rows=10 name="bericht">'.$bericht['2'].'</textarea></center>';
echo '<input type="hidden" name="edit" value="'.$nr.'">';
echo '<br><input type="submit" '.$disabled.' value="edit bericht"></form></fieldset>';
}
function berichten($ingelogt,$naam){
//delete een bericht
if(($ingelogt == 'ja') && (isset($_GET['delete']))){
$nr = $_GET['delete'];
$data = '';
$file = 'berichten.txt';
$fopenr = fopen($file,'r');
$berichten = fread ($fopenr, filesize($file));
fclose($fopenr);
$bericht = explode('|',$berichten);
$berichtena = count($bericht);
for($a='0';$a<$berichtena;$a++){
if($a != $nr){
$data .= $bericht[$a];
if($a<($berichtena-'1')){
if( ($a == $nr-'1') && ($nr == $berichtena-'1') ){}
else{
$data .= '|';
}
}
}
}
$fopenw = fopen($file, "w+");
fwrite($fopenw,$data);
fclose($fopenw);
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'"</SCRIPT>';
}
//als ingelogt is:
if($ingelogt == 'ja'){
if(isset($_GET['plaats'])){
plaats();
}
echo 'ingelogt als: <b>'.$naam.'</b> <a href="'.$_SERVER['PHP_SELF'].'?uitloggen=ja">uitloggen</a><br><br>';
}
$file = 'berichten.txt';
$fopenr = fopen($file,'r');
$berichten = fread ($fopenr, filesize($file));
fclose($fopenr);
$bericht = explode('|',$berichten);
$berichtena = count($bericht);
if(isset($_GET['edit'])){
edit($_GET['nr'],$ingelogt);
}
else{
for($i='0';$i < $berichtena;$i++){
$data = explode('^',$bericht[$i]);
echo '<fieldset><b><strong>'.$data['0'].'</b></strong> schreef op <i>'.$data['1'].'</i>';
if($naam == $data['0']){
echo ' <a href="'.$_SERVER['PHP_SELF'].'?edit=ja&nr='.$i.'">edit</a>|<a href="'.$_SERVER['PHP_SELF'].'?delete='.$i.'">delete</a>';
}
echo '<br><br>'.$data['2'].'</fieldset><br>';
}
if($ingelogt == 'nee'){$disabled = 'disabled';}
elseif($ingelogt == 'ja'){$disabled = '';}
else{$disabled = 'disabled';}
echo '<fieldset><form action="'.$_SERVER['PHP_SELF'].'?plaats" method="post"><center><textarea '.$disabled.' cols=70 rows=10 name="bericht"></textarea></center>';
echo '<input type="hidden" name="naam" value="'.$naam.'">';
echo '<br><input type="submit" '.$disabled.' value="plaats bericht"></form></fieldset>';
}
}
function files($ingelogt,$naam,$toegestaan,$extensienaam){
if($ingelogt == 'ja'){
echo 'ingelogt als: <b>'.$naam.'</b> <a href="'.$_SERVER['PHP_SELF'].'?uitloggen=ja&files">uitloggen</a><br><br>';
}
//$file = $_FILES['file']['name'] of ['size']
//unlink(filename) //delete
//if(is_uploaded_file($_FILES['file']['tmp_name'])){//checken of het via http post is gedaan
//move_uploaded_file($_FILES['file']['tmp_name'],'files/'.$uploadname) //verplaatsen
if((!isset($_GET['download'])) && (!isset($_GET['delete'])) && (!isset($_POST['upload']))){
if(isset($_GET['fout'])){
echo '<font color="#FF0000"> - uploaden mislukt - </font><br>';
}
if(isset($_GET['extentiefout'])){
echo '<font color="#FF0000"> - dit filetype mag niet geupload worden - </font><br>';
}
$toegestaana = count($toegestaan);
$handle = opendir('files');
$nr = '0';
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$files[$nr] = $file;
$nr++;
}
}
sort($files);
$aantal = count($files);
echo '<fieldset><table><tr><td width="150">bestands naam: <br><br><td width="150">bestands type: <br><br><td width="225">datum <br><br><td width="150">grootte:<br><br>';
for($a = '0';$a < $aantal;$a++){
$extentie = explode('.',$files[$a]);
for($b='0';$b<$toegestaana;$b++){
if($extentie['1'] == $toegestaan[$b]){
$filetype = $extensienaam[$b];
break;
}
}
$filesize = filesize('files/'.$files[$a]);
$filesize = ($filesize/'1000');
$filesize = round($filesize);
echo '<tr><td>-<b> '.$extentie['0'].'</b>.'.$extentie['1'].'<br><td> '.$filetype.'<td> '.date("d F Y - H:i:s",filectime('files/'.$files[$a])).'<td>'.$filesize.'kb';
if($ingelogt == 'ja'){
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?files&download='.$files[$a].'">download</a> | <a href="'.$_SERVER['PHP_SELF'].'?files&delete='.$files[$a].'">delete</a>';
}
}
echo '</table></fieldset><br>';
closedir($handle);
if($ingelogt=='ja'){
echo '<fieldset>upload file:<table><form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'?files"><input type="hidden" value="upload" name="upload"><tr><td>bestand:<td><input type="file" name="file"><br>';
echo '<tr><td>nieuwe naam gebruiken:<td><input type="checkbox" value="ja" name="gebruiknaam">';
echo '<br><tr><td>nieuwe naam (optioneel):<td><input type="text" name="nieuwenaam"></table><br><br><input type="submit" value="upload file"></fieldset>';
}
}
else{
if(isset($_POST['upload'])){
upload($toegestaan);
}
elseif(isset($_GET['delete'])){
unlink('files/'.$_GET['delete']);
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?files"</SCRIPT>';
}
}
}
function upload($allow){
global $_FILES;
if(isset($_FILES['file'])){
$file = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
if(isset($_POST['gebruiknaam'])){
$filename = $_POST['nieuwenaam'];
}
else{
$filename = explode('.',$_FILES['file']['name']);
$filename = $filename['0'];
}
$extentie = explode('.',$file);
$extentie = $extentie['1'];
$allowa = count($allow);
for($a='0';$a < $allowa;$a++){
if($extentie == $allow[$a]){
$extentiecheck = 'oke';
break;
}
else{
$extentiecheck = 'nietoke';
}
}
if($extentiecheck == 'oke'){
if(is_uploaded_file($_FILES['file']['tmp_name'])){
move_uploaded_file($_FILES['file']['tmp_name'],'files/'.$filename.'.'.$extentie);
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?files"</SCRIPT>';
}
else{
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?files&fout"</SCRIPT>';
}
}
else{
echo '<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">window.location="'.$_SERVER['PHP_SELF'].'?files&extentiefout"</SCRIPT>';
}
}
}
//inloggen
$aantal = count($naam);
if(isset($_COOKIE['project'])){
$cookie = explode(';',$_COOKIE['project']);
for($a='0';$a<$aantal;$a++){
if(($cookie['0'] == $naam[$a]) && ($cookie['1'] == $wachtwoord[$a])){
if(isset($_GET['files'])){
files('ja',$cookie['0'],$toegestaan,$extentienaam);
}
else{
berichten('ja',$cookie['0']);
}
break;
}
elseif( (($cookie['0'] !== $naam[$a]) && ($cookie['1'] !== $wachtwoord[$a])) && ($a == ($aantal-'1'))) {
inlogfout();
if(isset($_GET['files'])){
files('nee','',$toegestaan,$extentienaam);
}
else{
berichten('nee','');
}
}
}
}
else{
if(isset($_POST['inloggen'])){
if($_POST['inloggen'] == 'yes'){
for($a='0';$a<$aantal;$a++){
if($_POST['naam'] == $naam[$a]){
if($_POST['wachtwoord'] == $wachtwoord[$a]){
if(isset($_GET['files'])){
files('ja',$_POST['naam'],$toegestaan,$extentienaam);
}
else{
berichten('ja',$_POST['naam']);
}
if(isset($_POST['onthou'])){
setcookie("project", $_POST['naam'].';'.$_POST['wachtwoord'], time()+604800);
ob_end_flush();
}
else{
setcookie("project", $_POST['naam'].';'.$_POST['wachtwoord'], time()+600);
}
break;
}
else{
inlogfout();
if(isset($_GET['files'])){
files('nee','',$toegestaan,$extentienaam);
}
else{
berichten('nee','');
}
break;
}
}
elseif(($_POST['naam'] !== $naam[$a]) && ($a == ($aantal-'1'))) {
inlogfout();
if(isset($_GET['files'])){
files('nee','',$toegestaan,$extentienaam);
}
else{
berichten('nee','');
}
}
}
}
else{
inloggen();
if(isset($_GET['files'])){
files('nee','',$toegestaan,$extentienaam);
}
else{
berichten('nee','');
}
}
}
else{
inloggen();
if(isset($_GET['files'])){
files('nee','',$toegestaan,$extentienaam);
}
else{
berichten('nee','');
}
}
}
?>
</body>
</html>
<?
}//voor de download else
?>
1.420 views