---
title: "Problem med bilduppladdning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/173910-problem-med-bilduppladdning"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Guldstrand"
published: "2008-09-08T08:36:54.000Z"
updated: "2008-09-08T09:24:29.000Z"
replies: 5
views: 499
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/173910-problem-med-bilduppladdning"
---

# Problem med bilduppladdning

## #1 — Guldstrand, 2008-09-08T08:36Z

Ber om ursäkt för en dålig "rubrik".  :r 

Nu till mitt lilla problem...
Jag FÖRSÖKER att använda följande kod för att skapa och spara en bild i två olika storlekar.

```php
///// SKAPA OCH SPARA BILD 

require("inc/create_thumb.php");

if(isset($_FILES['userfile']))
{
 
   $userfile_name = str_replace(" ","_",$_FILES['userfile']['name']);
   $userfile_tmp = str_replace(" ","_",$_FILES['userfile']['tmp_name']);

   $userfile_size = $_FILES['userfile']['size'];
   $userfile_type = $_FILES['userfile']['type'];
 
   $userfile_thumb_name = str_replace(" ","_",$_FILES['userfile']['name']);
   $userfile_thumb_tmp = str_replace(" ","_",$_FILES['userfile']['tmp_name']);

   
  // mappen där filerna ska hamna
  $thumb_upload_dir = 'images/personer/miniatyr/';
  $thumb_upload_dir2 = 'images/personer/';
  
  // de tillåtna fil-typerna
  $filetypes = 'jpg,jpeg,png';
  // den största tillåtna storleken ( 1000 kB )
  $maxsize = (1024*20000);
  
  // kolla storleken på filen
  if($_FILES['userfile']['size'] > $maxsize)
       die("Tillåten filstorleken är '.round($maxsize / 1024).' kB.<br />");
  
  // hämta filtypen
  $types = explode(',',$filetypes);
  $file = explode('.',$_FILES['userfile']['name']);
  $extension = $file[sizeof($file)-1];

  // kolla filtypen
  if(!in_array($extension,$types))
       die("Endast $filetypes är tillåtet att laddas upp.<br />");

$insandare1 = minhemsida."_";

if (file_exists($thumb_upload_dir.$insandare1.str_replace(" ","_",$_FILES['userfile']['name'])))
       die("En bild med samma namn finns redan.<br />");

// Gör första tumnageln
  thumb_pic(str_replace(" ","_",$_FILES['userfile']['tmp_name']), $thumb_upload_dir.$insandare1.str_replace(" ","_",$_FILES['userfile']['name']), 120, 200);

// Gör andra tumnageln
  thumb_pic(str_replace(" ","_",$_FILES['userfile']['tmp_name']), $thumb_upload_dir2.$insandare1.str_replace(" ","_",$_FILES['userfile']['name']), 600, 400); 

}

/////
```

Koden i sig, fungerar som den ska, men jag vill endast att koden skall köras OM man väljer all ladda upp en bild, inte annars. \*hmm.. kändes lite luddigt detdär\*

Alltså... jag har ett formulär där man kan fylla i lite info om sig själv, namn, ålder m.m.
Men som det är nu (med koden ovan), så MÅSTE man även ange en bild.
(Vill att detta skall vara frivilligt.)

**Hur löser jag det?**

Som det är nu, så får jag bara "Endast jpg,jpeg,png är tillåtet att laddas upp.", fast att jag INTE väljer att ladda upp någon bild.

Permalänk: https://www.webforum.nu/p/173910

## #2 — fiddler, 2008-09-08T09:07Z

Med viss osäkerhet om hur $\_FILES beter sig...

Testa att byta ut

```php
if(isset($_FILES['userfile']))
```

mot

```php
if(!empty($_FILES['userfile']))
```

Permalänk: https://www.webforum.nu/p/2140517

## #3 — Guldstrand, 2008-09-08T09:09Z

> **fiddler skrev:**
>
> Med viss osäkerhet om hur $\_FILES beter sig...
> 
> Testa att byta ut
>
> ```php
> if(isset($_FILES['userfile']))
> ```
>
> mot
>
> ```php
> if(!empty($_FILES['userfile']))
> ```

Tack för ditt svar, men det hjälpte tyvärr inte.   :(

**EDIT:** Testade även att byta till "if(isset($\_POST\['userfile'\]))", men då laddas inte bilden upp.   :x

Permalänk: https://www.webforum.nu/p/2140518

## #4 — SPiN, 2008-09-08T09:14Z

```php
if($_FILES['userfile']['size'] > 0)
...
```

Permalänk: https://www.webforum.nu/p/2140522

## #5 — Guldstrand, 2008-09-08T09:19Z

> **SPiN skrev:**
>
> ```php
> if($_FILES['userfile']['size'] > 0)
> ...
> ```

YEEEEEEEES...  det verkade fungera.
Är detta ett bra sätt att göra det på?   :q

Permalänk: https://www.webforum.nu/p/2140524

## #6 — SPiN, 2008-09-08T09:24Z

Ja, det tycker jag. Du borde kunna se om någon fil är uppladdad med is_uploaded_file() också;

```php
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
...
```

Om du tycker det känns bättre.

Permalänk: https://www.webforum.nu/p/2140527

---

Tråden på webben: https://www.webforum.nu/amne/php/173910-problem-med-bilduppladdning
