Det känns som att när man får meddelandet ovan försöker man ladda upp en för stor fil men så är inte fallet.
Jag använder nedanstående php-skript, mappen som både mappen files (där bilderna ska hamna) och php-filen ligger är chmoddad till 777 och bilden jag försöker ladda upp är på ca 17kb.
<?php
/*
Mycket enkelt upload-script av jostor.
Får användas fritt.
Ska fungera på alla PHP-versioner över 4.1.0,
och på de flesta system.
*/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Ladda upp en fil</title>
</head>
<body>
<?php
if (isset($_FILES['uplfile'])) {
// Mappen där filerna ska hamna
$upload_dir = 'files/';
// De tillåtna filtyperna, separerade med komman, utan mellanrum
$filetypes = 'jpg,gif,png';
// Den största tillåtna storleken (80 kB)
$maxsize = (1024*80);
// Kontrollera att det angavs en fil
if(empty($_FILES['uplfile']['name']))
die('Ingen fil har valts');
// Kontrollera storleken
if($_FILES['uplfile']['size'] > $maxsize)
die('Filen du valde är för stor. Maxstorleken är '.(string)($maxsize/1024).' KB.');
// Kontrollera filtypen
$types = explode(',', $filetypes);
$file = explode('.', $_FILES['uplfile']['name']);
$extension = $file[sizeof($file)-1];
if(!in_array(strtolower($extension), $types))
die('Du har en felaktig filtyp. Endast .jpg, .gif och .png är tillåtet!');
// Generera unikt filnamn
$bokstav = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6');
$thefile = $_FILES['uplfile']['name'];
while (file_exists($upload_dir.$thefile)) { $img = $bokstav[rand(0, count($bokstav)-1)].$thefile; }
// Flytta filen rätt
if (is_uploaded_file($_FILES['uplfile']['tmp_name']) && move_uploaded_file($_FILES['uplfile']['tmp_name'],$upload_dir.$thefile)) {
echo 'Filen laddades upp!';
/*
Uppladdningen lyckades.
Här kan man även lägga eventuell kod för t.ex. databashantering.
Filnamnet ligger i $thefile.
Ytterliggare fält i formuläret får du som vanligt med $_POST
*/
} else {
echo 'Ett fel uppstod och filen kunde inte laddas upp.';
/*
Uppladdningen misslyckades.
*/
}
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Fil: <input type="file" name="uplfile"><br>
<input type="submit" value="Ladda upp filen">
</form>
<?php
}
?>
</body>
</html>