Avatar billede webco_dk Nybegynder
28. juli 2006 - 12:54 Der er 11 kommentarer og
1 løsning

billed upload

hej
jeg søger et godt billede uploads script hvor man ska kunne trykke gennemse også vælge et billede. derefter trykke på en knap(<INPUT TYPE=submit VALUE="send">) også gemmer scriptet det i en mappe. ska være et php script.

ps jeg har et tidligere spørsmål jeg også gerne vil have besvaret.
http://www.eksperten.dk/spm/722164

på forhånd tak.
Avatar billede mclemens Nybegynder
28. juli 2006 - 13:03 #1
Avatar billede webco_dk Nybegynder
28. juli 2006 - 13:07 #2
er der ikk noget der er mere enkelt
Avatar billede mclemens Nybegynder
28. juli 2006 - 13:13 #3
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>
Avatar billede webco_dk Nybegynder
28. juli 2006 - 13:21 #4
kan du så også sige mig om der er lavet en $veriabel som er billedets navn, så jeg kan gemme navnet på billedet i en mysql database
Avatar billede webco_dk Nybegynder
28. juli 2006 - 13:26 #5
nej jeg er træt jeg hvade slet ikk set <input type="file" name="image">
men mange tak for hjælpen smid et svar
Avatar billede mclemens Nybegynder
28. juli 2006 - 13:35 #6
ok, ellers så kig lidt på linket ...
det er lidt hjælp til sikker mysql også ...
http://www.eksperten.dk/spm/721943
Avatar billede webco_dk Nybegynder
28. juli 2006 - 19:37 #7
tak ska du have
Avatar billede mclemens Nybegynder
28. juli 2006 - 19:42 #8
Velbekom, og tak for point :o)
Avatar billede webco_dk Nybegynder
28. juli 2006 - 19:44 #9
det virker ikke hva er der galt http://www.webco.dk/billedup.php
Avatar billede mclemens Nybegynder
28. juli 2006 - 19:51 #10
Prøv at slette:
/* Opstart af sessions */
session_start();
Avatar billede webco_dk Nybegynder
28. juli 2006 - 20:07 #11
ok hva er det der for hva gør det hvorfor er der overhovedet en session der.
Avatar billede webco_dk Nybegynder
28. juli 2006 - 20:11 #12
det virker fint nu. jeg ska bare lige tilpasse det let og få til at sende billed navn til en mysql database men det skulle jeg nok selv kunne klare. mange tak for din hjælp
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