Avatar billede fbb Nybegynder
10. november 2003 - 18:26 Der er 18 kommentarer og
2 løsninger

Tjek størelse inde upload

Hej, jeg er nu træt af at få kæmpe billeder upload
Så ville håbe på en kunne lave om i mit script som et billede max må fylde 500kb.

Min kode er her:
<? require_once("top.php"); ?>
<?php
require ("db.php");
if ($_POST['nid']) { $nid = $_POST['nid']; } else { $nid = $_GET['nid']; }
$sti = $_SERVER['DOCUMENT_ROOT']."/numsegejl/upload/";

if ($_POST['submit']) {
$picid=1; $ingen=0;
while ($picid<11) {
$upfil = $_FILES['fil'.$picid]['name'];
$tempfil = $_FILES['fil'.$picid]['tmp_name'];

if ($upfil) {
if (preg_match ("/(gif)$/i", $upfil)) {$fil_type = ".gif"; echo "Billederne er nu uploadet.<br>"; }
elseif (preg_match ("/(jpeg|jpg|jpe|pjpeg)$/i", $upfil)) { $fil_type = ".jpg"; echo "Billederne er nu uploadet.<br>"; }
else { echo ": ugyldig filtype<br>"; }
mysql_query("INSERT INTO foto (extension, scooter_id) VALUES ('$fil_type','$nid')") or die ("databasefejl");
$res = mysql_query("SELECT max(id) AS nyt_id FROM foto WHERE scooter_id='$nid'") or die ("fejl. nid ikke fundet i databasen"); 
$getvar = mysql_fetch_array($res) or die ("fejl. nid ikke fundet i databasen");
$nytid = ($getvar['nyt_id']); 
move_uploaded_file($tempfil, $sti.$nid."_".$nytid.$fil_type); $ingen++;

} $picid++; 
} if ($ingen==0) { echo "du har ikke valgt en fil<br><br>"; } }
?>

<form enctype="multipart/form-data" method="post" action="billede_tilfoej.php">
<?php
$picid=1;
while ($picid<11) {
echo "Billede<br><input type=\"File\" name=\"fil".$picid."\" size=\"25\"><br>";
$picid++;
}

?>
<input type="hidden" name="nid" value="<?php echo $nid; ?>">
<input type="submit" name="submit" value="Upload">
</form>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td width="100%">
      <p align="center"><font face="Verdana" size="2">Copyright (C) <a href="http://www.Frederikbb.dk" target="_blank">FrederikBB.dk</a>,
      2001-2002. All right reserved.</font></td>
  </tr>
</table>
<? require_once("bund.php"); ?>
Avatar billede fet321 Nybegynder
10. november 2003 - 18:28 #1
Det er ikke 100% sikkert, men du kunne indsætte
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="500000">
i din form.
Avatar billede fet321 Nybegynder
10. november 2003 - 18:29 #2
Med "ikke 100% sikkert" mener jeg, et hvis der er nogen, der VIL uploade en større fil, kan det stadig lade sig gøre.
Avatar billede fbb Nybegynder
10. november 2003 - 18:36 #3
Man skal ikke kunne upload.. Lige meget hvad..
Avatar billede fet321 Nybegynder
10. november 2003 - 18:40 #4
Indsæt:
$size = filesize($tempfil)/1024;
if ($size > 500) {
die("Filen er for stor");
}

lige efter linien:
if ($upfil) {
Avatar billede fet321 Nybegynder
10. november 2003 - 18:42 #5
Hvis ovenstående virker, skal du ikke give mig 130 point.
Du kan roligt beholde mindst de 100 selv :)
Avatar billede fbb Nybegynder
10. november 2003 - 18:42 #6
tester lige
Avatar billede fbb Nybegynder
10. november 2003 - 18:46 #7
Det ser ud til at virke, kunne ikke upload et billede på 1mb.
Tak for hjælpem, smid lige et svar, så for du de 30.. MANGE tak!
Avatar billede fet321 Nybegynder
10. november 2003 - 18:47 #8
Det var så lidt.
Avatar billede fbb Nybegynder
10. november 2003 - 18:47 #9
..
Avatar billede tipsen Nybegynder
10. november 2003 - 19:06 #10
Filen vil stadig blive uploaded og først efter upload vurderes det om filen var for stor! (Den vil så ligge i et temp-biblo!)
Avatar billede fbb Nybegynder
10. november 2003 - 19:08 #11
jeg kan da ikke finde filen på min server hvis den er over 500kb
Avatar billede fet321 Nybegynder
10. november 2003 - 19:16 #12
Det er korrekt hvad tipsen skriver.
Filen ligger - uanset størrelse - i webserverens temp directory indtil den pågældende session afsluttes.
Avatar billede fbb Nybegynder
10. november 2003 - 19:19 #13
hmm, såmlængen filen ikke fylder på mit webhotel, så er jeg glad nok.
Men tak fordi i siger det..
Avatar billede fet321 Nybegynder
10. november 2003 - 19:28 #14
Kort fortalt er det der sker, at med den kode som du har nu, så når filer over 500 kb aldrig længere end til webserverens temp directory. Dvs. den bliver aldrig gemt i dit directory på dit webhotel. Filen når stadig frem til din webhotel udbyder.
Giver det mening?
Avatar billede tipsen Nybegynder
10. november 2003 - 19:29 #15
fet321: Filen bliver da ikke automatisk slettet når den aktuelle session afsluttes - gør den!?

-filen ligger i dit webhotels affaldsrum ;-)
Avatar billede fbb Nybegynder
10. november 2003 - 19:39 #16
ok, jeg er ved at forstår det. Så længe det ikke fylder på min plads så er jeg meget glad.. Tak for hjælpen drengen!!
Avatar billede fet321 Nybegynder
10. november 2003 - 19:39 #17
tipsen >> Det er ikke noget, jeg er jeg ikke 100% sikker på, at den gør. Jeg er åben for at revidere min viden(indbildte).
Avatar billede fet321 Nybegynder
10. november 2003 - 19:41 #18
Håber ikke det er mig, du sidder der og kalder "drengen", efter at have modtaget hjælp :)
Avatar billede fet321 Nybegynder
10. november 2003 - 19:42 #19
19:39:57 - jeg er jeg ikke 100% =  jeg er 100%
Avatar billede fbb Nybegynder
10. november 2003 - 19:43 #20
hov, min fejl, gutter skulle der nok havde stået ;D.. hehe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB