---
title: "kontroll av pjpeg"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/172767-kontroll-av-pjpeg"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Tulork"
published: "2008-07-14T00:55:28.000Z"
updated: "2008-07-14T15:16:43.000Z"
replies: 9
views: 534
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/172767-kontroll-av-pjpeg"
---

# kontroll av pjpeg

## #1 — Tulork, 2008-07-14T00:55Z

Undrar bara om någon annan stött på problem med kontroll av pjpeg bilder som är lite större... jag har följande kontroll

```php
 if (($this->filtyp != "image/gif")
	&& ($this->filtyp  != "image/GIF")
	&& ($this->filtyp  != "image/jpeg")
	&& ($this->filtyp  != "image/JPEG")
	&& ($this->filtyp  != "image/png")
	&& ($this->filtyp  != "image/PNG")
	&& ($this->filtyp  != "image/jpg")
	&& ($this->filtyp  != "image/JPG")
	&& ($this->filtyp  != "image/PJPEG")
	&& ($this->filtyp  != "image/pjpeg"))
	{
		$this->error_filformat = false;
    }
```

Allting fungerar som det ska, förutom pjpeg bilder... jag har läst lite om just detta filformatet och att det ibland kan ställa till problem när man försöker skala om dem (bilket jag också gör med bilderna jag laddar upp). 

Men hos mig så stoppas alla dessa bilder redan i denna kontrollen.... jag har gjort en annan temporär kontroll som plockar ut filändelsen som den sen kollar... där går den igenom... men stoppas istället när jag försöker kopiera den uppladdade filen till korrekt mapp och när jag försöker skala om det.

Detta måste vara ett känt problem... känns så i alla fall. Jag har bara hittat ett fåtal texter som beskriver ungefär samma problem.. men icke någon lösning.

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

## #2 — nitro2k01, 2008-07-14T01:13Z

Pröva följande:

```php
 $this->filtyp = strtolower($this->filtyp);

 if ($this->filtyp == 'image/jpg' || $this->filtyp == 'image/pjpeg')
  $this->filtyp = 'image/jpeg';

 if (($this->filtyp != "image/gif") 
    && ($this->filtyp  != "image/jpeg") 
    && ($this->filtyp  != "image/png") ) 
    { 
        $this->error_filformat = false; 
    }
```

Jag har även omorganiserat koden lite. MIME-typer bör skrivas med små bokstäver så det är helt i sin ordning att köra en strtolower på resultatet. Vad gäller image/jpg bör aldrig förekomma, det vet jag inte var du fått från. image/pjpeg är i detta fall inte en separat filtyp, utan vad IE väljer att kalla alla jpeg-filer. Lösningen bör vara att byta ut alla förekomster av image/pjpeg mot image/jpeg. Kolla om det funkar och återkom.

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

## #3 — Tulork, 2008-07-14T05:15Z

Samma resultat. Det blir problem när det är över 600kb.... png och gif på 5mb har den inga problem att hantera... vissa jpg går, vissa inte.

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

## #4 — colione, 2008-07-14T07:05Z

vad får du för mime-type då?

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

## #5 — Tulork, 2008-07-14T07:24Z

jpeg, pjpeg om det är ifrån IE jag laddar upp. Förbryllande fel... det måste nästan ha någonting att göra med hur stor bilden är eller dimesionerna.... känns så i alla fall 

Men då kännsd et också som att det är fel  på min webbserver.. men jag har testat det på två olika nu.

Jag har testat ladda upp en 3000x3000 .png bild på 5MB... den flöt rakt igenom helt perfekt. jag har även provat extremt stora .gif bilder och dessa fungerar också....

Äh.. jag vet inte längre.

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

## #6 — nitro2k01, 2008-07-14T12:37Z

Krånglar samma bilder om du laddar upp dem från olika läsare?

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

## #7 — Tulork, 2008-07-14T15:08Z

webbläsare spelar ingen roll... samma fel oavsett FF, IE, Safari, Maxthon, Opera... dessa är de enda jag provat.

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

## #8 — nitro2k01, 2008-07-14T15:09Z

Vad använder du för library för att förstora om bilderna med?

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

## #9 — Tulork, 2008-07-14T15:11Z

Den kommer inte så långt dock... men jag har testat att strunta i kontrollen för att se vad som händer... då blir det massa andra problem... t ex att filen inte hittas när den ska flyttas från temp-mappen till den ordentliga mappen.

Följande kod använder jag för att förminska

```php
<?php
class thumbnail
{
//Skapar thumbnail, eller om bilden är mindre än vald bredd så kopierar den bilden till korrekt mapp
public function new_thumb($thumb, $original, $bredd, $dimensioner, $tempnamn, $bildnamn, $filandelse, $kompression)
{
 if ($bredd < $dimensioner[0]) {
	
            $hojd = ceil(($bredd / $dimensioner[0]) * $dimensioner[1]);
			
            // Fixar ny storlek för bilden
            $nybild = imagecreatetruecolor($bredd, $hojd);
			
				// Kontrollera vad det är för bildtyp det är
				// 1=gif , 2=jpg , 3=png
				switch($dimensioner[2]) {
                case 1:
                    $bild = imagecreatefromgif($tempnamn);
                break;
                case 2:
                    $bild = imagecreatefromjpeg($tempnamn);
                break;
                case 3:
                    $bild = imagecreatefrompng($tempnamn);
                break;
            }
			
			//renderar bilden
            imagecopyresampled($nybild, $bild, 0, 0, 0, 0, $bredd, $hojd, $dimensioner[0], $dimensioner[1]);
			
            // Kopiera bilden till korrekt mapp
			
            $sparabild = $thumb . '/' . $bildnamn;
            imagejpeg($nybild, $sparabild, $kompression);
				
			
            // Frigör minne som associerats med bilderna...
            imagedestroy($bild);
            imagedestroy($nybild);
			
			return true;
        } 
		
		//Om bilden redan är mindre än vald thumbnailstorlek flyttar den bilden både till tbumbnail mappen och till originalmappen.
		else 
		{
			
	        move_uploaded_file($tempnamn, $thumb . '/' . $bildnamn);
		    copy ($thumb . '/' . $bildnamn, $original . '/' . $bildnamn);
			
			return false;
		}
}
}
?>
```

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

## #10 — Tulork, 2008-07-14T15:16Z

hmmm... tror jag hittat felet :) Jag har en temporär utvecklingsserver på min egna dator (Vista), så jag provade köra allting på en xp maskin... tidigare provade jag bara byta vista maskin..... nu  fungerar det :o

Frågan är bara... varför?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/172767-kontroll-av-pjpeg
