<?php
session_start();
if (!isset($_SESSION["??????"]))
{
header("Location: ../???????");
}
include_once("????????");
$querylocatie = "SELECT locatie FROM adres";
$result = mysql_query($querylocatie);
$locatiepad="../pdf/"; //of een andere map, vergeet niet de w-rechten
$toegestaan = array ("pdf", "doc", "xls"); // extensies die toegestaan zijn
if (isset($_POST["bevestiging"]))
{
$filename = $locatiepad.$_FILES['bestand']['name'];
if(file_exists($filename))
{
//echo "het bestand ".$filename." bestaat al.";
$error = 1;
}
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{
$extensie_bestand = pathinfo($_FILES['bestand']['name']);
$extensie_bestand = $extensie_bestand[extension];
$extensies_toegestaan = explode(", ", $toegestaan);
$ok = in_array($extensie_bestand, $toegestaan);
if($ok == 1)
{
if(!move_uploaded_file($_FILES['bestand']['tmp_name'],$locatiepad.$_FILES['bestand']['name']))
{
//echo "het bestand kan niet worden verplaatst";
$error = 2;
}
$queryuploaden = "INSERT INTO downloads (locatie, filename, filetitel, datum)";
$queryuploaden .= "VALUES ('".$_POST["locatie"] ."', '".$_FILES['bestand']['name'] ."', '".$_POST["filetitel"]."', now())";
mysql_query($queryuploaden);?>
<script language='Javascript'>
window.close();
</script>
<?php
}
else
{
//echo "Verkeerde extentie, de toegestane extensies zijn: <b>pdf, doc en xls</b>";
$error = 3;
}
}
else
{
//echo "Het uploaden is mislukt";
$error = 4;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" type="text/css" media="screen" href="../cms.css" />
<script language='Javascript'>
function refreshuh(){
window.opener.location.reload();
<!--window.close();
}
</script>
<title>TOEVOEGEN DOWNLOADS</title>
</head>
<br />
<body onunload='refreshuh()'>
<p>
<?php if ((isset($error)) && ($error == 1)) {echo "<span class=\"leeg\">het bestand ".$filename." bestaat al.</span>";} ?>
<?php if ((isset($error)) && ($error == 2)) {echo "<span class=\"leeg\">het bestand kan niet worden verplaatst</span>";} ?>
<?php if ((isset($error)) && ($error == 3)) {echo "<span class=\"leeg\">Verkeerde extentie, de toegestane extensies zijn: <i>pdf, doc en xls</i></span>";} ?>
<?php if ((isset($error)) && ($error == 4)) {echo "<span class=\"leeg\">Het uploaden is mislukt</span>";} ?>
</p>
<form action="download_toevoegen.php?error=<?php echo $error; ?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="bevestiging" value="1" />
<table width="800px" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>locatie:</td>
<td><select name="locatie">
<?php
while ($row = mysql_fetch_array($result))
{?>
<option>
<?php
$locatie = $row["locatie"];
echo $locatie;
}?>
</select></td>
<td><input name="upload" type="image" class="icon" src="../icons/page_save.png" /></td>
</tr>
<tr>
<td width="8%">filename:</td>
<td width="53%">
<input type="file" name="bestand"/> </td>
<td width="39%"> </td>
</tr>
<tr>
<td>filetitel:</td>
<td>
<input type="text" name="filetitel"/> </td>
<td> </td>
</tr>
</table>
</form>
</body>
Ik heb een probleempje met mn file_exists. Mijn bestandsnaam wordt juist uitgelezen. Maar het if statement van file_exists wordt overgeslagen.
<?php
$filename = $locatiepad.$_FILES['bestand']['name'];
if(file_exists($filename))
{
//echo "het bestand ".$filename." bestaat al.";
$error = 1;
}
?>
De gegevens uit $filename zijn correct.
Als ik er dit tussenzet dan wordt mijn bestand wel gezien als bestaand :?!
<?php
if (isset($_POST["bevestiging"]))
{
$filename = $locatiepad.$_FILES['bestand']['name'];
if(file_exists($filename))
{
echo "het bestand ".$filename." bestaat al.";
$error = 1;
}
echo "error is ".$error;
echo "filename is ".$filename;
exit();
if(is_uploaded_file($_FILES['bestand']['tmp_name']))
{?>
"Het bestand ../pdf/ntsgawu_nts.doc bestaat al.error is 1filename is ../pdf/ntsgawu_nts.doc"
ik krijg en de error terug en de echo binnen het if statement maar ook $filename. En die klopt. Maar als ik deze 3 regels:
<?php
echo "error is ".$error;
echo "filename is ".$filename;
exit();
?>
er tussenuit laat dan werkt het niet....
Als ik dan zonder die exit(); bij $locatiepad er $_SERVER[DOCUMENT_ROOT] bij zet maakt dit niet uit. Dus er is iets niet in orde.
waarom wordt mijn $error = 1 niet gezien en doorgegeven?
839 views