filesize
ik wil de grootte van mijn bestand opslaan in mijn database. dit doe ik met filesize() maar hij geeft deze foutmelding:
Parse error: parse error, unexpected T_VARIABLE in /usr/local/psa/home/vhosts/pdesmet.be/httpdocs/uploaden/index.php on line 32
dit is mijn code:
include("includes/config.php");
if($submit)
{
$naam = $_POST["Naam"];
$link = "http://uploaden.pdesmet.be/bestanden/$naam"
$size = "filesize($naam)"
$insertBestand = "INSERT INTO $tableBestanden (Naam, Link, Grootte) VALUES ('$naam','$link','$size')";
$queryBestand = mysql_query($insertBestand)or die(mysql_error());
}
print"
<form enctype='multipart/form-data' action='upload.php' method='post'>
<input type='hidden' name='MAX_FILE_SIZE' value='51200'>
<table>
<tr>
<td class='bold'>
Selecteer een bestand: <input name='userfile' type='file' class='form'><br><br>
</td>
</tr>
<tr>
<td align='center'><input type='submit' name='submit' value='upload bestand' class='form'></td>
</tr>
</table>
</form>";
line 32 is de line met de filesize() in ;)
Bedankt op voorhand,
Greets Bjeenie
bedankt é
Dus niet:
Maar:
Daar zit meteen nog een fout omdat je de ; op het einde daar vergeten bent. Verder is het nog iets sneller om ' te gebruiken ipv " dus optimale code zou zijn:
ja heb ik al gemerkt, strafwel bedankt!!
geeft deze fout:
Warning: filesize(): Stat failed for Test.txt (errno=2 - No such file or directory) in /usr/local/psa/home/vhosts/pdesmet.be/httpdocs/uploaden/upload.php on line 31
Het bestand is geupload onder de naam: Test.txt
dit is code van upload:
include("includes/config.php");
global $_FILES;
$filename = $_FILES['Naam']['name'];
$uploadname = $_FILES['Naam']['name'];
$link = "http://uploaden.pdesmet.be/bestanden/".$filename;
$size = filesize($filename);
$insertBestand = "INSERT INTO $tableBestanden (Naam, Link, Grootte) VALUES ('$filename','$link','$size')";
$queryBestand = mysql_query($insertBestand)or die(mysql_error());
if (is_uploaded_file($_FILES['Naam']['tmp_name'])) {
move_uploaded_file($_FILES['Naam']['tmp_name'], "bestanden/" . $uploadname);
echo "Het bestand is geupload onder de naam: $uploadname";
}
wat is daar nu weer verkeerd aan?
bedankt op voorhand!
Greets Bjeenie
Gewijzigd op 28/09/2004 20:52:00 door Thomas
eens weg, $_FILES[] is altijd beschikbaar dus dat is nergens voor nodig.
Code (php)
1
2
3
2
3
<?
$insertBestand = "INSERT INTO $tableBestanden (Naam, Link, Grootte) VALUES ('$filename','$link','$size')";
?>
$insertBestand = "INSERT INTO $tableBestanden (Naam, Link, Grootte) VALUES ('$filename','$link','$size')";
?>
Zou moeten worden:
Code (php)
1
2
3
2
3
<?
$insertBestand = "INSERT INTO ".$tableBestanden." (Naam, Link, Grootte) VALUES ('".$filename."','".$link."','".$size."')";
?>
$insertBestand = "INSERT INTO ".$tableBestanden." (Naam, Link, Grootte) VALUES ('".$filename."','".$link."','".$size."')";
?>
Variabelen buiten quotes enzo...
Ook is de controle met is_uploaded_file() niet nodig omdat move_uploaded_file() dat al controleerd.
Het zou dus zo kunnen:
Ipv dit:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?
if (is_uploaded_file($_FILES['Naam']['tmp_name'])) {
move_uploaded_file($_FILES['Naam']['tmp_name'], "bestanden/" . $uploadname);
echo "Het bestand is geupload onder de naam: $uploadname";
}
?>
if (is_uploaded_file($_FILES['Naam']['tmp_name'])) {
move_uploaded_file($_FILES['Naam']['tmp_name'], "bestanden/" . $uploadname);
echo "Het bestand is geupload onder de naam: $uploadname";
}
?>
Kan dit:
Code (php)
1
2
3
4
5
2
3
4
5
<?
if (move_uploaded_file($_FILES['Naam']['tmp_name'], 'bestanden/'. $uploadname)) {
echo 'Het bestand is geupload onder de naam: '.$uploadname; // ook weer var buiten quotes
}
?>
if (move_uploaded_file($_FILES['Naam']['tmp_name'], 'bestanden/'. $uploadname)) {
echo 'Het bestand is geupload onder de naam: '.$uploadname; // ook weer var buiten quotes
}
?>
Code (php)
1
2
3
4
2
3
4
<?
$link = "http://uploaden.pdesmet.be/bestanden/".$filename;
$size = filesize($filename);
?>
$link = "http://uploaden.pdesmet.be/bestanden/".$filename;
$size = filesize($filename);
?>
je kunt geen filesize() doen omdat je eerst zegt van dit is een url adres, en pak nu de filesize van het bestand $filename.. $filename is 'batestest.txt' bijvoorbeeld, en hoe moet filesize() nou weten waar die staat?? je moet hem eerst uploaden naar je server, en dan kun je pas kijken hoe groot hij is als je filesize() wil gebruiken..
Maar als je een plaatje, of bestand upload dan krijg je sowieso al een array mee ($_FILES) waar de filesize ook al in staat.. dit is: