[PHP] Upload file, haalt tmp extensie op

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 193096

Topicstarter
Ik heb een script gemaakt waarin ik een file upload naar de server. Tevens zet ik de gegevens van die file meteen in de database. Het werkt allemaal alleen een probleem:

HET SCRIPT LEEST HET BESTAND UIT MN /tmp UIT. Dus als ik een bestand tweakers.doc wil uploaden dan upload het script een bestand dat heet php11F0.tmp.

De locatie waar het bestand ineens staat: c:/temp\php11F0.tmp (ik haal m heel ergens anders op. Maar jullie zullen vast weten hoe dit komt)
Bestandsnaam: php11F0.tmp
Bestandsextensie: tmp
query: INSERT INTO downloads (locatie, filename, filetitel, datum)VALUES ('hermus', '', 'blaaaatasas', 'October 16, 2006, 9:55 am');

melding: Het bestand "php11F0.tmp" is met succes geupload!


code:

<?php
include_once("../../inc/database_open.inc.php");
$query = "SELECT locatie FROM adres";

$result = mysql_query($query);

$datum = date("F j, Y, g:i a");

$map = "../pdf/";

$max = "100000";

$ext = "doc pdf xls tmp"; //Hier ff tmp bijgezet om upload te testen deze vervalt later uiteraard weer.

if ($uploaden){
if (!$filename)
print ("Selecteer een bestand!");
else{
$bestand2 = explode("\\", $filename);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";
echo $filename. "<br>";
echo $bestand2. "<br>";

$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);
echo $bestand3. "<br>";

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0; $tel < $aantal; $tel++){

if ($bestand3 == $ext[$tel]){
$extfout = "nee";
}
}

if (!$extfout){

print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($bestand_size > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
$queryuploaden = "INSERT INTO downloads (locatie, filename, filetitel, datum)";
$queryuploaden .= "VALUES ('";
$queryuploaden .= $_POST["locatie"] ."', '";
$queryuploaden .= $_POST["filename"] ."', '";
$queryuploaden .= $_POST["filetitel"] ."', '";
$queryuploaden .= $_POST["date"] ."');";
echo $queryuploaden. "<br>";
$result = mysql_query($queryuploaden);
move_uploaded_file($filename, "$map$bestand2");
print ("Het bestand \"$bestand2\" is met succes geupload!");
}

}
}
}

if (!$uploaden)
{?>

<!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" />
<title>AANPASSEN DOWNLOADS</title>
</head>
<body>

<br /><br /><a href="download.php"> <input type="button" name="download" value="terug naar downloads" /> </a><p></p>
<h3>Wijzig deze gegevens </h3>

<form action="<?php echo ($_SERVER['PHP_SELF']);?>" 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> </td>
</tr>
<tr>
<td width="52%">filename:</td>
<td width="25%">
<input type="file" name="filename"/> </td>
<td width="23%"> </td>
</tr>
<tr>
<td>filetitel:</td>
<td>
<input type="text" name="filetitel"/> </td>
<td><input name="uploaden" type="submit" value="uploaden"/></td>
</tr>
<tr>
<td>datum:</td>
<td>
<input type="text" name="date" value="<?php
$datum = date("F j, Y, g:i a");
echo $datum; ?>"/> </td>
<td><input name="button" type="button" onclick="javascript:history.back();" value="terug"/></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>


iemand een idee hoe ik kan zorgen dat het bestand uitgelezen wordt zoals ik het verstuur?

ow ja en hoe krijg ik die code hierboven in zo'n speciaal daarvoor bedoeld vak op het forum :S

Alvast enorm bedankt

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 10:23

DizzyWeb

Ondertiteld

Lees dit eens door, voor de gein: http://nl2.php.net/manual/en/features.file-upload.php

Acties:
  • 0 Henk 'm!

Anoniem: 183031

Lijkt me een goed plan om te beginnen.

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 08:52

pietje63

RTFM

$_FILES['userfile']['name'] zou de trick dus moeten doen.

Verder krijg je zo'n mooi (wel leesbaar) boxje heel simpel met [ php] en [/ php]

Maar dat staat ook in de FAQ....

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!