Ikke testet (rettet udgave af
http://www.eksperten.dk/spm/721943 ) ...
- der skal dog noget validering på og kontrol af om man har lov til at uploade...
[ er der ikk noget der er mere enkelt ]
- Der er selvfølgelig grænser for hvor simpel en ting kan laves hvis man også skal være på den sikre side - og have mulighed for lidt let finpudsning ...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Gem artikel</title><link rel="stylesheet" href="../stylesheet.css" type="text/css"></head><body>
<?php
/* Bemærk i nedenstående står der kommentarer adskilt af /* og */
/* Disse kommentarer kan fjernes - Start /* og slut på linjerne */
/* skal bare fjernes sammen med kommentarerne
... det er kun for at dokumentere kodningen lidt */
/* Angiv antal kb. filen maximalt må have her ... ikke nogle kb
eller mb angivelser efter tallet... eks. 1024 giver max upload 1 mb ... */
$maxfilesize=1024;
/* Skriv de filtyper der er tilladt: */
$filtyperok=array("jpg","jpeg","gif","png","tif","tiff","jpe","bmp");
/* Angivelse af destinations sted p.t.
(billeder/)
(kontant-udvidende-tids-angivelse)
(samt-tilfældigt-mellem-0-og-9979)
(efterfulgt-af-bindestreg)
(-og-så-kommer-filnavnet-tilsidst)
... filnavn tilføjes automatisk nede i scriptet */
/* ret evt. til blot $til = "billeder/";
$til = "billeder/".time().rand(0,9979)."-";
/* Opstart af sessions */
session_start();
/* Check på om en upload er accepteret ...
- Men jeg har lige ændret det lidt ...
P.t. er den defineret til false ...
Hvis scriptet ikke finder fejl uploades der */
$fejl=false;
if(isset($_FILES["image"])){ /* Check om der er et image klar til håndtering *fejl1 */
$size=$_FILES["image"]["size"]/1024; /* Angivelse af fil størelse i kb */
if($size > 0 && $size < $maxfilesize){ /* Check om fil fylder mere end 0 eller mere end maks fil størrelse *fejl2 */
$fra=$_FILES["image"]["tmp_name"]; /* Tmp placering på serveren */
$fra2=$_FILES["image"]["name"]; /* Navn filen siges at have */
$til=$til.$fra2;
$filext=preg_replace("@.*\.@","",$fra2);
if(in_array($filext,$filtyperok)){ /* Check om filtype må uploades *fejl3 */
if(!function_exists("move_uploaded_file")||!move_uploaded_file($fra,$til)){
if(!function_exists("copy")||!copy($fra, $til))$fejl="Upload ikke muligt kontakt administrator!";
/* ^ - Fejl hvis hverken move eller copy er tilgængelig */
}
/* Fejl tekst hvis fil format ikke var tilladt *fejl3 */
}else $fejl="Fil formatet var forkert!";
/* Fejl tekst hvis der billedet er for stort *fejl2 */
}else $fejl="- Den tilføjede fil er størrer end ".round($maxfilesize/1024)." mb!";
/* 2 Alternative forslag til ovenstående tekst linje:
}else $fejl="- Den tilføjede fil er størrer end ".(number_format(($maxfilesize/1024),2,",","."))." mb!";
}else $fejl="- Den tilføjede fil er størrer end ".$maxfilesize." kb!";*/
/* Fejl tekst hvis der ikke er et image klar til håndtering *fejl1 */
}else $fejl="- Der blev ikke fundet nogen fil til upload!";
if(!$fejl)echo"Uploadet";
else echo"Upload af filen slog fejl grundet:<br>".$fejl;
?>
<br><br><a href="../nyheder/tilfoej.php">Tilbage</a>
<br><br>Midlertidig test form...<br>
<form method="post" enctype="multipart/form-data" action="1.php">
<input type="file" name="image">
<input type="text" name="forfatter" value="forfatter">
<input type="text" name="overskrift" value="overskrift">
<input type="text" name="nyhed" value="nyhed">
<input type="submit" value="ok">
</form>
</body></html>